JavaSE复习笔记(第二章-Java基础语法)

目录

 

第二章 Java基础语法

一、注释

二、关键字

三、标识符

四、常量

五、变量

六、计算机如何存储数据(了解)

七、数据类型

1.Java数据类型的分类:

2.基本数据类型的转换

八、运算符

1.算术运算符:

2.赋值运算符

3.关系运算符

4.逻辑运算符

5.条件运算符

6.位运算符(了解)

7.运算符的优先级


第二章 Java基础语法

一、注释

是给程序员看的代码的说明性文字

  1. 单行注释:// 注释内容

  2. 多行注释:/* 注释内容*/

  3. 文档注释:/** 注释内容 */ ,可以使用javadoc命令把文档注释内容提前到说明文档中。

二、关键字

Java定义好的一些赋予了特殊含义的字符串(单词),比如public,class,void 等

保留字:const,goto

特殊值:true,false,null

三、标识符

编写Java程序过程中,我们给类、接口、变量、方法等起名字用的字符串(单词)

  1. 标识符命名规则:必须遵守

    • 由英文大小写字母、数字、下划线_、美元符号$组成。

    • 不能由数字开头

    • 不能使用关键字和特殊值

  2. 标识符命名规范:建议遵守,不遵守会被鄙视

    • 见名知意

    • 类名、接口名等:每个单词的首字母都大写(大驼峰法则),形式:XxxYyyZzz, 例如:HelloWorld,String,System等

    • 变量、方法名等:从第二个单词开始首字母大写(小驼峰法则),其余字母小写,形式:xxxYyyZzz, 例如:age,name,bookName,main

    • 包名等:每一个单词都小写,单词之间使用点.分割,形式:xxx.yyy.zzz, 例如:java.lang

    • 常量名等:每一个单词都大写,单词之间使用下划线_分割,形式:XXX_YYY_ZZZ, 例如:MAX_VALUE,PI

四、常量

程序运行过程中其值不会发生改变的量

  1. 自定义常量,使用final关键字

final int A = 10;//最终变量,即常量
A = 20;//不能修改

    2. 字面常量,字面值(literal)

字面量分类举例
字符串字面量"HelloWorld"
整数字面量12,-23
浮点字面量12.34
字符字面量'a','A','0','好'
布尔字面量true,false
空值字面量null

五、变量

程序运行过程中,其值可以发生改变的量

  1. 作用:用于存储一个数据

  2. 本质:变量是内存中的一块空间,可以存储数据

    3.变量的声明与赋值

  • 声明变量的同时并赋值

    数据类型 变量名 = 变量值

int a = 18;
a = 19;//重新赋值

System.out.println(a);//19  输出变量值
System.out.println("a = "+a);//a = 19

先声明,再赋值

数据类型 变量名;

变量名 = 变量值;

int b;
b = 100;

同时声明多个同类型变量

数据类型 变量名1,变量2,....4.

int a,b,c;
a=1;
b=2;
c=3;

int x=1,y=2,z=3;

4.变量的使用注意事项

  1. 变量必须先声明才能使用,否则报错:错误: 找不到符号

  2. 变量必须先初始化值才能使用,否则,错误: 可能尚未初始化变量age

  3. 变量有作用域,其作用域为声明变量所在的大括号内

  4. 同一个作用域内,不能声明同名的变量

六、计算机如何存储数据(了解)

  1. 进制:

    • 二进制 : 每位的数值 0,1

    • 十进制:每位的数值0~9

    • 八进制:每位的数值0~7

    • 十六进制:每位的数值0~9,a~f

  2. 计算机存储单位

    • 位(bit):是数据存储的最小单位,也就是一个二进制位。其中8 bit 就称为1个字节(Byte)。

    • 字节(Byte):是计算机信息技术用于计量存储容量的一种计量单位,1字节等于8bit。

    • 转换关系:

      • 8 bit = 1 Byte

      • 1024 Byte = 1 KB

      • 1024 KB = 1 MB

      • 1024 MB = 1 GB

      • 1024 GB = 1 TB

  3. 计算机如何存储不同类型的数据

    计算机底层所有类型的数据都以二进制形式存储。

    1. 存储整数

      存储的是整数的补码形式,要知道补码需要先知道原码和反码。

      原码:最高位为符号位,0表示整数,1表示负数,其他位为数值位。

      正整数的原码,反码和补码一致,即三码合一

      负整数的原码,反码和补码补一样。

      反码:在原码基础上,符号位不变,其他按位取反

      补码:在反码基础上,加1

 10的原码:00001010
10的反码:00001010
10的补码:00001010
-10的原码:10001010
-10的反码:11110101   
-10的补码:11110110  

            2.存储小数

  • 计算机无法精确存储浮点类型float和double,实际存储的是一个近似值。

  • 同样字节存储浮点型数据的范围远大于存储整数。

        3.存储字符

        计算机借助字符集编码表来存储字符,在编码表中,每个字符都对应一个整数

ASCII码表:使用一个字节表示一个字符,主要是英文等一些常用字符

Unicode字符集,万国码,统一码,全球所有国家常用字符都有收录,使用2个字节表示一个字符。Java的char类型支持Unicode字符集

Java中标识字符的形式有:

  • 使用单引号:'a','中'

  • 使用转义字符:'\'','\t','\\'

  • 使用Unicode表中的字符的对应数值的十六进制:'\u1234'

七、数据类型

Java是一种强类型语言,针对不同类型的数据分别定义了不同的数据类型。

1.Java数据类型的分类:

  1. 引用数据类型:比如String,数组,类,接口等等

  2. 基本数据类型:4类八种

 注意:字面量整数的默认类型是int类型,字面量小数的默认类型是double类型

2.基本数据类型的转换

Java的基本数据类型中除布尔类型外的7种数值类型之间可以相互转换。

隐式自动转换:通常数值范围小的类型转换为数组大的类型会隐式自动转换。

显示强制转换:通过把数值范围大的类型转换为数值范围小的类型需要强制转换。

强制转换的语法格式:(目标类型)变量或值

强制类型转换有风险,可能损失数据,不要随便强制转换。

  • 隐式自动转换的情况

    • 数值范围小的转换为数组范围的

      double a = 100;//int自动转换为double
      int b = '中';//char自动转换为int
    • 不同类型之间混合运算时,全部自动提升为其中最大的类型

      byte a = 1;
      int b = 2;
      double c = 3;
      double result = a+b+c;//abc全部自动提升为double进行运算
    • byte、short和char之间运算,全部自动提升为int类型

      byte a = 1;
      char b = 'a';
      int result = a+b;//ab全部自动提升为int类型
  • 显示强制转换的情况

    • 数值范围大的转换为 数值范围小的

      double a = 12.345;
      int b = (int)a;//double强制转换为int ,结果是12
      ​
      byte c = (byte)128;//int强制转换为byte,结果-128
    • 强制提升类型

      int a = 1;
      int b = 2;
      double c = (double)a/b;//把a先强制提升为double再参与运算
  • 特殊类型转换

    字符串String类型与任意类型使用+运算,都是拼接字符串,结果还是String类型

八、运算符

运算符:是一种特殊的符号,用以表示数据的运算、赋值和比较等。

表达式:用运算符连接起来的式子

1.算术运算符:

+,-,*,/除,%求余
自增++ :自动加1
自减-- :自动减1

自增自减运算符的使用:

  • 单独使用时,前置和后置效果相同

    int a = 10;
    a++;//后置自增,相当于a= a+1;
    ++a;//前置自增,相当于a= a+1;
    System.out.println(a);//12
  • 组合使用时,前置和后置效果不同

    后置自增自减:先使用,后自增自减

    int a = 10;
    int b = a++;
    System.out.println(a);//11
    System.out.println(b);//10

    前置自增自减:先自增自减,再使用

    int a = 10;
    int b = ++a;
    System.out.println(a);//11
    System.out.println(b);//11

2.赋值运算符

=,+=,-=,*=,/=等等
int a = 10;
a += 2;//相当于a= a+2;
System.out.println(a);//12
byte b = 100;
b += 10;//结果b=110
byte c = 100;
c = c + 10;//编译失败 ,c+10结果为int类型不能直接赋值给byte类型的c

3.关系运算符

>,<,>=,<=,==,!=

关系运算符的运算结果一定是布尔类型。

4.逻辑运算符

与&,或|,非!,异或^,
短路与&&
短路或||

逻辑运算符的两边都是布尔类型,运算结果也是布尔类型。

  • 与&运算符:并且的意思,两边都为真结果才为真。

  • 或|运算符:或者的意思,一边为真,结果就为真。

  • 非!运算符:取反,真变假,假变真

  • 异或^运算符: 两边相同为假,不同为真

  • 双与,双或:运算的最终结果与单与,单或相同,不同的时,如果通过运算符的左边可以判断出最终结果,将不再执行右边,效率高,推荐使用。

    System.out.println(false && false);//fasle

5.条件运算符

也称为三目运算符。格式:

布尔表达式 ? 结果1 : 结果2;

执行流程:如果布尔表达式的结果为true,最终结果为结果1,否则为结果2

int age = 18;
String result = age>=18 ?  "成年了" : "未成年";

6.位运算符(了解)

按照二进制位进行运算的运算符。位运算符运算效率高。

&按位与,|按位或,^按位异或,~按位取反
<< 左移
>> 右移
>>> 无符号右移
  • 左移<< :一个数左移n位结果等于这个数乘以2的n次幂

  • 右移>> :一个数右移n为结果等于这个数除以2的n次幂,除不尽时,向下取整。最高位是0补0,是1补1.

  • 无符号右移>>> : 最高位永远补0,结果一定是正数。

7.运算符的优先级

提示说明:

(1)表达式不要太复杂

(2)先算的使用()

大体的排序:算术 > 位 > 比较 > 逻辑 > 三元 > 赋值


 需要第二章完整学习笔记可以关注私信我哦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值