文章目录
第二章 数据类型和运算符
2.2标识符(Unicode 而非 ASCII 可以汉字 )
字母含义:英文+中文
以字母、下划线、$开头(数字不可以开头)
规范:
类:首字母大写
表示方法和变量:驼峰原则 首字母小写第二单词首字母大写
变量的分类:
1.局部变量:(需要初始化后方可使用)只在语句内部有用
2.成员变量:类内部定义随对象始终
无需初始化,默认初始化为
int 0
double 0.0
char ‘\u0000’
boolean false
3.静态变量:使用static定义
从属于类,生命周期伴随类始终
从类加载到卸载。如果不自行初始化,
与成员变量相同会自动初始化成该类型
的默认初始值
常量:
1.实际的值、字符等 int a=8; 8为常量
2.用final修饰的 常量 :final String str="ename";
final double PI=3.14;
变量和常量命名规范:
(规范是程序员的基本准则,
不规范会直接损害你的个人形象)
-
所有变量、方法、类名:见名知意
-
类成员变量:首字母小写和驼峰原则: monthSalary
-
局部变量:首字母小写和驼峰原则
-
常量:大写字母和下划线:MAX_VALUE
-
类名:首字母大写和驼峰原则: Man, GoodMan
-
方法名:首字母小写和驼峰原则: run(), runRun()
数据类型
整数类型:
- byte(1字节,-27~2-1 ,128-127)
- short(2字节,-215-215-1,-32768-32767)
- int(4字节,-231-231-1,-2147483648-47)
- long(8 byte, -263-263-1)
浮点类型:
- flaoat(4byte,-3.403E38-3.403E38)
- double(8byte,-1.798E308,-1.798E308)
引用数据类型 (统一 4字节)
- 类(class)
- 接口(interface)
- 数组
int a=15;
=015;8进制
=0x15;16进制
=0b1101;2进制
float a=3.15 //错误
float a=3.15f;
double b=3.15;
float a=315e-2;
float m=338e-5f
float m=338e-5d;
浮点型不能用于比较
如果要比较 (任意浮点型精度 比较类 BigDecimal
)
任意整数型精度 BigInteger
字符型变量 与 C语言 一样
2.6.4 boolean类型变量/常量 if(flag)/ if(!flag)
2.7 运算符(operator)
- 算术运算符 二元运算符 +,-,*,/,%
- 一元运算符 ++,–
- 赋值运算符 =
- 扩展运算符 +=,-=,*=,/=
- 关系运算符 >,<,>=,<=,==,!= instanceof
- 逻辑运算符 &&,||,!,^
- 位运算符 &,|,^,~ , >>,<<,>>>
- 条件运算符 ? :
- 字符串连接符 +
2.7.1 算术运算符
2.7.2 赋值以及扩展赋值运算符
b=a++(先赋值后 a+1,c=++a先 a+1 在赋值
2.7.3 关系运算符 >,>=,<,<=,!=,==
2.7.4 逻辑运算符 &,|,||,&&,!,^
**&&(有一个为0就为0)**
2.7.5 位运算符
位运算符 说明
- ~ 取反
- & 按位与
-| 按位或 - ^ 按位异或`
- << 左移运算符,左移1位相当于乘2
- >> 右移运算符,右移1位相当于除2取商`
- >>> 无符号右移,左边空位 补零
2.7.6 字符串连接符
“ + ”对于char ,int, String 等进行链接
仅限于 System.out.println();等输出函数
——————————————————————————————————————————————
2.7.7 条件运算符
xx?xx:xx同C/C++一样
也可用于
JAVA:System.out.println(a>b?a:b);
C++: cout<<(a>b?a:b)<<endl;
————————————————————————————————————————
2.7.8 运算符优先级的问题
不要去刻意的记这些优先级,表达式里面优先使用小括号来组织!!重点优先级 逻辑非 > 逻辑与 > 逻辑或
优先级 | 运算符 | 类 | 结合性 |
---|---|---|---|
1 | () | 括号运算符 | 由左至右 |
2 | !、+(正号)、-(负号) | 一元运算符 | 由左至右 |
2 | ~ | 位逻辑运算符 | 由右至左 |
2 | ++、– | 递增与递减运算符 | 由右至左 |
3 | *、/、% | 算术运算符 | 由左至右 |
4 | +、- | 算术运算符 | 由左至右 |
5 | <<、>> | 位左移、右移运算符 | 由左至右 |
6 | >、>=、<、<= | 关系运算符 | 由左至右 |
7 | ==、!= | 关系运算符 | 由左至右 |
8 | & | 位运算符、逻辑运算符 | 由左至右 |
9 | ^ | 位运算符、逻辑运算符 | 由左至右 |
10 | | | 位运算符、逻辑运算符 | 由左至右 |
11 | && | 逻辑运算符 | 由左至右 |
12 | || | 逻辑运算符 | 由左至右 |
13 | ? : | 条件运算符 | 由右至左 |
14 | =、+=、-=、*=、/=、%= | 赋值运算符、扩展运算符 | 由右至左 |
2.8.1 自动类型转换
2.8.2 强制类型转换
int a=20;
final int b=1e9;
int c=a*b; //溢出
long c=a*b; // 数据丢失|溢出
正解long c=a*(long)b;
先将一因子b转型 使得整个a*b提升为long 来计算
布尔类型不能和任何数值类型之间做强制类型转换
2.9 简单的键盘输入和输出
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
int age = scanner.nextInt();
System.out.println(name);
System.out.println(age);
课后部分习题
3.下面的赋值语句中错误的是( )。(选择一项)
A.float f = 11.1;
B.double d = 5.3E12;
C.double d = 3.14159;
D.double d = 3.14D;
4.在Java中,下面( )语句能正确通过编译。(选择二项)
A.System.out.println(1+1);
B.char i =2+‘2’;
System.out.println(i);
C.String s=“on”+‘one’;
D.int b=255.0;
来源:CSDN
作者: MaxVen
链接:https://blog.csdn.net/weixin_43556527/article/details/103207404