【java】前八章:快速回忆(一)

简介: 【java】前八章:快速回忆

不知不觉,Java已近学了接近两个月。课本也慢慢的翻到了第八章,总感觉什么都没学到,一直想停下来整理一下,那就今天


java前八章复习总结(理论内容)


学的糊里糊涂的,没有代码经验,整理摘抄一些理论的东西,供自己参考,一定会有错误


第一章


简单了解java


java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 [2] 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等


工作原理

由四方面组成:

(1)Java编程语言

(2)Java类文件格式

(3)Java虚拟机

(4)Java应用程序接口

具体一点,百度java简介


搭建java开发环境的基本步骤:


点击->百度搭建java开发环境的基本步骤

自己去看吧;一步一步跟着来还是很简单的。


第二章:基本数据类型及运算


java中一共有8中基本数据类型,并且每种数据类型所占的存储空间是固定的,这种特性也增加了java的可移植性,这一点和c语言c++是不同的,因为java是在**虚拟机(jvm)**上运行的,数据类型和操作系统以及硬件间的适配是通过虚拟机来实现的。


Java中的8中基本数据类型:byte short int long float double boolean char


  • byte short int long都表示有符号数,即最高位是用来表示正负的,0表示正,1表示负;
  • byte占一个字节,表示范围:-~2^7-1 即-128~127
  • short 占两个字节,表示范围:–~2^15-1
  • int 占四个字节 ,表示范围:-~2^31-1
  • long 占八个字节,表示范围:-~2^63-1
  • float 占四个字节, double占八个字节
  • char 占两个字节,一个char代表一个unicode码,范围:0~2^16
  • boolean 占一个字节,只有true和false两个值

其中使用和用法注意和c语言差不多包括但不限于(类型转换与运算、隐式类型转换、显式类型转换)等。


java运算符


第1关:算数运算符


c489eba3a00c04ce5a3d326b66a1aaee_1015db848ec9b14515ae1888d8aabbf8.png


点击查看代码

package step1;
import java.util.Scanner;
public class Cal {
  public static void main(String[] args) {
    /*********start*********/
     System.out.println("请输入第一个整数");
         System.out.println("请输入第二个整数");
     Scanner sc=new Scanner(System.in);
    int a=sc.nextInt();
    int b=sc.nextInt();
    int c,d,e,f,g;
    c=a+b;d=a-b;e=a*b;f=a/b;g=a%b;
    System.out.println("两数相加的结果为:"+c);
    System.out.println("两数相减的结果为:"+d);
    System.out.println("两数相乘的结果为:"+e);
    System.out.println("两数相除的结果为:"+f);
    System.out.println("两数取余数的结果为:"+g);
    /*********end*********/
  }
}


测试用例:

73b3f5651b2bd0472a9d8b5cca199351_f4b27deeb688e69ec6e98eb7ea2c4df6.png


第2关:关系运算符


36566c7a252a7eab30f20fd7fd89a287_d993ad3581bda43580b65cac65464957.png


点击查看代码

package step2;
import java.util.Scanner;
public class Relative {
  public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        /*********start*********/
    System.out.println("a==b="+(a==b));
    System.out.println("a!=b="+(a!=b));
    System.out.println("a>b="+(a>b));
    System.out.println("a<b="+(a<b));
    System.out.println("b>=a="+(b>=a));
    System.out.println("b<=a="+(b<=a));
    /*********end*********/
  }
}


第一次测试会输入数据:20,34;

需要你的程序输出:

a==b=false
a!=b=true
a>b=false
a<b=true
b>=a=true
b<=a=false      


第3关:逻辑运算符


什么是逻辑运算符

逻辑运算符用于测试两个操作数之间的逻辑关系,且这两个操作数必须是布尔类型的(如关系表达式),得到的结果也是布尔类型的,通过逻辑运算符连接的结果为boolean类型的变量或表达式叫做逻辑表达式


0e685fd8064caa4080281196d17fb076_be51236aefb378eafd463ed9047e8b49.png

我们可以从“投票选举”的角度理解逻辑运算符:

与:要求所有人都投票同意,才能通过某议题;

或:只要求一个人投票同意就可以通过某议题;

非:某人原本投票同意,通过非运算符,可以使其投票无效;

异或:有且只能有一个人投票同意,才可以通过某议题


点击查看代码

package step3;
import java.util.Scanner;
public class testLogic {
  public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);
      boolean a=sc.nextBoolean();
        boolean b=sc.nextBoolean();
        boolean c=sc.nextBoolean();     
    /*********start  *********/  
        System.out.println(!a);      
        System.out.println(a && b &&c);          
        System.out.println( c || b );        
        System.out.println( !b  );        
    /*********end  *********/
  }
}


测试说明 按照相关要求编写程序后,我会对你的程序进行测试。 预期输入:

true,false,true

预期输出:

false

false

true

true


第5关:运算符的优先级


05d909ee253b222c6ee4dd556cd102fd_b77c09549a0a04169108c5c00106c315.png


java特有的运算符(instancceof)<不知道是不是特有的,反正对一次见>


双目运算实例运算符,用于判断指定对象是否是一个特定的类型(类类型或接口类型<第5章内容>)例如:

    obj instanceof String
    其中,obj是一对像实例,若obj是string类型实例,则运算结果是true,否则为false。


String,java类,存储字符串类型,第七章


2.5练一练


1.输出java基本数据类型的取值范围

提示:java语言为基本数据类型提供了相应的包装类,分别是Boolean,Byte,Character,Short。Integer,Long,Float,Double。包装类中封装了静态成员变量MIN_VALUE与MAX_VALLUE,分别表达基本的数据类型所能表示的最小值和最大值。


点击查看代码

public class HOME {
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println("Boolean最大值:true" +"最小值:flase");    //这里好像不是这么写的,管他呢,知道就行 ,不太会写代码
    System.out.println("byte的取值范围:");
    System.out.println(Byte.MIN_VALUE+"~"+Byte.MAX_VALUE);
    System.out.println("Character的取值范围:");
    System.out.println((int)Character.MIN_VALUE+"~"+(int)Character.MAX_VALUE);
    System.out.println("short的取值范围:");
    System.out.println(Short.MIN_VALUE+"~"+Short.MAX_VALUE);
    System.out.println("Integer的取值范围:");
    System.out.println(Integer.MIN_VALUE+"~"+Integer.MAX_VALUE);
    System.out.println("Long的取值范围:");
    System.out.println(Long.MIN_VALUE+"~"+Long.MAX_VALUE);
    System.out.println("Float的取值范围:");
    System.out.println(Float.MIN_VALUE+"~"+Float.MAX_VALUE);
    System.out.println("Double的取值范围:");
    System.out.println(Double.MIN_VALUE+"~"+Double.MAX_VALUE);
  }
}

第三章:结构化程序设计(面向过程程序化设计)


  • 顺序结构

734afaa53fecf488aab4ca0031b7f7f8_9e2e6de7bf73e179e5fe260adacb5cd3.png

  • 分支结构

c7d7983606e2b66b738885ce761da919_d9420b9e828d00af4e9dc1ddb554db89.png

  • 循环结构

3c15f2ffdc22bf931e43a5a8544eb3e7_766c801890588ea19b3b10578b796361.png

和c一样,不写了

练一练:求π的近似值

点击查看代码

public class HOME4 {
  public static void main(String[] args) {
    System.out.println("PI = ");
    float k = 1;
    float b = 1;
    float c = 0;
    while((1/b)>1e-6) {
      c += k*1/b;
      b +=2;
      k = -k;
    }
    System.out.println(4*c);
  }
}


第四章:数组


了解并学会使用下图所有内容即可

5b8e7d5f9d5b2abaa8e9f9f09402abc5_7e4a533ffedd89b989c20f6cc09701a6.png

具体在这Java基础语法(六)——数组的定义与使用,,非常具体 c语言同样适用



相关文章
|
2月前
|
Java 开发者
那些年,我们追过的Java多态——回忆篇
【6月更文挑战第17天】重温Java多态,它激发了初学者对面向对象编程的热情。多态展示了代码的灵活性和可扩展性,通过抽象和接口使设计更高效。在实践中,如GUI事件处理和游戏开发,多态广泛应用。随着时间的推移,理解加深,多态被视为反映现实多样性的编程哲学。对初学者,它是探索编程世界的钥匙,不应惧怕困惑,应多实践,享受与计算机对话的乐趣。多态,是编程旅程中宝贵的财富和成长见证。
19 0
|
Java
【java】前八章:快速回忆(三)
【java】前八章:快速回忆
82 0
|
存储 Java API
【java】前八章:快速回忆(二)
【java】前八章:快速回忆
82 0
|
Java Windows
Java 将照片转化为回忆中的照片,琉璃般的岁月 | Java工具类
Java 将照片转化为回忆中的照片,琉璃般的岁月 | Java工具类
Java 将照片转化为回忆中的照片,琉璃般的岁月 | Java工具类
|
SQL 算法 Java
Java生产填坑经历之全面回忆
屏幕快照 2018-07-30 下午4.01.49.png 生产填坑的经历为什么要称之为全面回忆呢,因为恰巧笔者之前看了一部科幻电影,名字就叫《全面回忆》Total Recall,该片于2012年10月20日在中国上映,豆瓣评分7.0。
1355 0
|
8天前
|
安全 Java 数据处理
Java并发编程:解锁多线程的潜力
在数字化时代的浪潮中,Java作为一门广泛使用的编程语言,其并发编程能力是提升应用性能和响应速度的关键。本文将带你深入理解Java并发编程的核心概念,探索如何通过多线程技术有效利用计算资源,并实现高效的数据处理。我们将从基础出发,逐步揭开高效并发编程的面纱,让你的程序运行得更快、更稳、更强。
|
6天前
|
Java 开发者
奇迹时刻!探索 Java 多线程的奇幻之旅:Thread 类和 Runnable 接口的惊人对决
【8月更文挑战第13天】Java的多线程特性能显著提升程序性能与响应性。本文通过示例代码详细解析了两种核心实现方式:Thread类与Runnable接口。Thread类适用于简单场景,直接定义线程行为;Runnable接口则更适合复杂的项目结构,尤其在需要继承其他类时,能保持代码的清晰与模块化。理解两者差异有助于开发者在实际应用中做出合理选择,构建高效稳定的多线程程序。
27 7
|
5天前
|
安全 Java 数据库
一天十道Java面试题----第四天(线程池复用的原理------>spring事务的实现方式原理以及隔离级别)
这篇文章是关于Java面试题的笔记,涵盖了线程池复用原理、Spring框架基础、AOP和IOC概念、Bean生命周期和作用域、单例Bean的线程安全性、Spring中使用的设计模式、以及Spring事务的实现方式和隔离级别等知识点。
|
5天前
|
存储 监控 安全
一天十道Java面试题----第三天(对线程安全的理解------>线程池中阻塞队列的作用)
这篇文章是Java面试第三天的笔记,讨论了线程安全、Thread与Runnable的区别、守护线程、ThreadLocal原理及内存泄漏问题、并发并行串行的概念、并发三大特性、线程池的使用原因和解释、线程池处理流程,以及线程池中阻塞队列的作用和设计考虑。
|
3天前
|
存储 缓存 安全
深度剖析Java HashMap:源码分析、线程安全与最佳实践
深度剖析Java HashMap:源码分析、线程安全与最佳实践