Java初识
数据类型
基本数据类型
- 字节类型
byte 字节类型 在内存当中占一个字节 使用8个2进制位表示 0000 0000 byte的取值范围 -128~127 可以表示2^8 即256个数 二进制的最高位叫符号位 除了符号位 其余的都叫做操作位
short 短整型 占2个字节
int 整型 占4个字节
long 长整型 占8个字节
- 小数类型
float 单精度浮点型 占4个字节
double 双精度浮点 占8个字节
- 字符类型
char 两个字节 注意:赋值字符类需要用单引号
- 布尔类型
作用:用来判断
特点:只有两个值 真/假 true/false
注意:
如果定义的是一个小数,系统会默认是double类型的,如果需要定义一个float类型的数据,需要在数据后面加一个标示(加f);
隐式转换,类型提升,int类型的数据,如果用double接收,会自动提升类型
强制类型转换 使用时前面加个括号,括号里面写上要转换的类型
字符类型和整型直接可以相互转换 具体对应情况可参见ascii码表
在main函数的外面不能访问main函数里面的数据变量
变量生命周期 函数中定义的变量,称为局部变量,出了定义的类,这个变量值就等于销毁了,访问不到了;
算术运算符
分类
+ - ++ --
注意:
a++ 表示自增 a = a + 1
a-- 表示自减 a = a - 1
如果++在后,a先参与运算,再进行自增
如果++在前,先进行自增,然后再参加运算
int a = 5;
a++;
System.out.println(a++);
System.out.println(a);
int a1 = 10;
int b1 = a1 + a1++;
System.out.println(a1);
System.out.println(b1);
int a2 = 10;
int b2 = a2 + ++a2;
System.out.println(a2);
System.out.println(b2);
int a3 = 10;
int b3 = a3++ + a3;
System.out.println(a3);
System.out.println(b3);
int a4 = 10;
int b4 = ++a4 + a4;
System.out.println(a4);
System.out.println(b4);
逻辑运算符
&& 逻辑与
书写方式
(判断条件1)&&(判断条件2)
规则:(一假则假)
如果条件1和条件2同时为真,这时整个表达式返回一个真
如果条件1和条件2有一个为假,这时整个表达式返回一个假
|| 逻辑或
(判断条件1)||(判断条件2)
规则:(一真都真)
如果条件1和条件2同时为假,这时整个表达式返回一个假
如果条件1和条件2有一个为真,这时整个表达式返回一个真
! 逻辑非:非真即假 非假即真
关系运算符 < > <= >= !=
a>b 成立返回一个true 反之 返回false
逻辑与短路
当条件1为假时,整个表达式都是假的,这时条件2根本不会执行
int num1 = 10;
int num2 = 5;
boolean b1 = (num1 < num2) && (++num1 > num2);
System.out.println(num1);
System.out.println(num2);
System.out.println(b1);
逻辑或短路
当条件1为真时,那么整个表达式为真,这时,条件二就不会执行
int num3 = 10;
int num4 = 5;
boolean b2 = (num3 > num4) || (++num3 > num4);
System.out.println(num3);
System.out.println(num4);
System.out.println(b2);
键盘输入
import java.util.Scanner
Scanner sc = new Scanner(System.in)
String str = sc.nextLine()
int num = sc.nextInt()
double d = sc.nextDouble()
流程控制
顺序结构
相当于代码,从上到下,依次执行
分支结构
if语句
if语句有三种格式
格式一:
if(判断条件){
执行体1
}
如果判断条件成立,就会执行执行体(大括号中的语句)
格式二:
if(判断条件){
执行体1
}else{
执行体2
}
如果判断条件成立,就执行执行体1
反之 不成立, 就执行执行体2
格式三:
if(判断条件1){
执行体1
} else if(判断条件2){
执行体2
} else if(判断条件3){
执行体3
} else{
执行体4
}
如果判断条件都不成立,就会去执行else中德语句
注意:根据具体的情况,来具体分析来使用哪种形式
switch语句
switch(值){
case Value:
语句体1
break;
case Value2:
语句体2
break;
case Value3:
语句体3
break;
default:
语句体4
break;
}
注意:switch的执行
用值与Value进行匹配,匹配上,就执行语句体1,没匹配上,就继续向下匹配Value2,匹配上,就执行语句体2,如果都没匹配上,就执行default后面的语句体3,break用于跳出Switch语句
思考:什么时候用switch语句 什么时候用if语句
如果你判断的是个区间,使用if比较方便
如果判断的是几个数,那么使用Switch比较方便
循环结构
while循环
while(循环条件){
循环体
}
如果 判断条件成立 就执行循环体
反之 不成立 则不执行循环体,跳出循环
三目运算符
(判断条件) ? 值1 : 值2
如果判断条件成立 就返回值1
如果判断条件不成立 就返回值2