注意事项
三元运算符可以实现的都可以使用if 语句代替
区别:
三元运算符比较简洁
三元运算符必须返回结果
if语句可以执行多条语句
注意事项
三元运算符可以实现的都可以使用if 语句代替
区别:
三元运算符比较简洁
三元运算符必须返回结果
if语句可以执行多条语句
条件语句
意义:通过条件判断是否执行某些语句
if条件
第一种:
if(布尔表达式){
//语句,当布尔表达式为true的时候才会执行的语句 }
第二种
if(){
//语句
}else{
//语句
}
第三种
if(){
//语句
}else if () {
//语句
}else{
//语句
}
语句块
以{开始,以]结束
{}
注释事项
1,遇到单纯的语句块的时候,会直接执行语句块里面的语句,从上到下2,语句块可以访问外面定义的变量,外面不能访问语句块里面定义的变量
控制程序中语句执行的流程(顺序)。默认是从上到下一条语句一条语句执行。
数据类型转换:隐式类型转换;显式类型转换
隐式类型转换
小类型到大类型会自动转换:byte->short,char->int->long->float->double虽然float比long小,但是因为存储方法不一样导致float里面可以存储的数据范围比long要大(浮点型来说,有一部分是用来表示有效位数的,有一部分是用来表示多少次方。)
使用情况:
1、赋值语句
2、算术表达式中
显式类型转换(也做强制类型转换)
把一个大类型赋值给小类型,需要进行前置类型转换
int i=(int)3.3;//将3.3转为int
long j=(long)3.4f;
三元(三目)运算符
?:
规则:布尔表达式?表达式1:表达式2如果布尔表达式的结果为true,返回表达式1的结果如果布尔表达式的结果为false,返回表达式2的结果案例:
取最大值(两个整数和三个整数)
int a=100,b=34,c=289;
int max=a>b?a:b;
max=max>c? max:C;
System. out. println(max);
运算符优先级
默认优先级
通过()控制优先级
& 按位与:对应位都是1才是1
I 按位或:对应位有一个1,就是1
~ 按位取反:1变0,0变1
^ 按位异或:对应位不一样才是1
<<左移(高位抛弃,低位补0)
>>高位按照符号位补齐,低位抛弃)
>>>无符号右移(忽略符号位,高位补0,低位抛弃)
位运算符
计算机是二进制的,所有的数据使用二进制来存储。对于每个二进制来说都有原码、反码和补码。计算机存储数据的时候,使用第一位表示数字的正负,0代表正数,1代表负数。计算机存储正数的时候直接存储正数的原码,存储负数的时候存储负数的补码。(为什么存储补码,而不是原码,这个是为了方便进行数学运算,具体不解释了)
正数:原码、反码和补码相同。
负数:
原码(符号位为1)
反码(符号位不变,其余位数取反)
补码(反码+1)
只针对二进制来说的,所以在进行运算之前会转换成二进制,再运算。
pubilc class Helloworld{
pubilc String void main(String[]age){
Systeam.out.println("helloworld");
}
}
int a=10,b=10;
System. out. println(a>20 && (++b)>10 );//false & true false
System. out. println(b);//10
System. out. println(a>20 & (++b)>10 );//false & true false
System. out. println(b);//11
&与&&区别:&不短路,&&短路
true && false // false
true && true // true &&两边为true才是true
false && false // false
false && true // false
true ll false //true
true ll true //true ||其中一边为true就是true
false Il false //false
false ll true //true
逻辑运算符(两边的操作数必须是boolean类型的)
规则:操作数1 运算符 操作数2
&&(短路与;和)
||(短路或)
&
|
^ 异或
!非(取反)
与:两边同时满足条件的时候为true(其他情况为false)
或:两边只要满足一个条件结果为true(其他情况为false)
异或:两边结果不一样的时候结果为true(其他情况为false)
短路和不短路的区别
当可以通过操作数1判断出来结果的时候,是否运算操作数2(短路表示不运算操作数2)
int age=80;
boolean isAdult=age>=18;
boolean isZhong=age>=25&&age<=35;//&&与
//boolean isZhong=25<=age<35;//错误System.out.println(isAdult);System.out.println(isZhong);
比较运算符
结果为boolean 类型(true/false)
< <= > >= == !=(不等于)
注意区分==和=
System.out.printIn(a==b);System.out.printIn(a=b);
== 等于; = fu'zhi
赋值运算符
= += -= *= /= %=
a=3;a=a+b;
x=y=z=7;//不建议
ax=b; a=axb;x代表+ - * / %
自增和自减运算符
++两种用法:放在前面或者放在后面
--两种用法:放在前面或者放在后面
int a=9; int b=5;
int resl=a++;//resl=a;a++;
int res2=++b;//b++; res2=b;
System. out. printin(res1);//9
System. out. printin(res2);//6
int resl=a++ +1;//10
int res2=++b +2;//8
System.out.printin(a++);//9
System.out.println(++b);//6
自增在前,先增在运算;
自增在后,先运算在最后再自增
特殊一:
使用浮点数做运算的时候的不精确性
5.3-4.2
0.08f+0.01f
6.9*7
原因:double和float两个类型在java中本身就是非精确存储的,再用两个近似值去做计算,得到的结果就只能是一个近似值了。
特殊二:
可以使用+对字符串进行组拼,任何类型和字符串相加都会把数据转成字符串,再进行组拼
System. out. println(34+"");//34
System. out. println(34+""+34);//3434
System. out. println(34+34);//68
System. out. println("34"+34);//3434
System.out.println(""+34+34);//3434
System.out.println(34+34+"");//68
System.out.printin(""+(34+34));//68
特殊三:
使用字符做算术运算的时候,会自动把字符转换成对应的数字,然后进行数学运算
System.out.println('a'+34);//131
算术运算符(可以对常量和变量进行操作)
规则:操作数1 运算符 操作数2 intb=a+c;
+:可以对整数和浮点数做加法操作
-: 可以对整数和浮点数做减法操作
*: 可以对整数和浮点数做乘法操作
/:可以对整数和浮点数做除法操作
(两个整数相除得到的还是整数=略去小数部分)如果想要得到小数,需要将其中一个转成浮点数
例如: int a=10; int b=3;
System. out. printin(a*l.0/b);//3.33333
%:可以对整数和浮点数做求余操作
进制:是一种表示数字的方式,默认我们平时使用的数字使用的是士进制
十六进制:0-9abcdef
士进制
78541=70000+8000+500+40+1
=7*10000+8*1000+5*100+4*10+1*1
=7*10~4+8*10^3+5*10^2+4*10^1+1*10^0
八进制
3647=7*8^0+4*8^1+6*8^2+3*8^3
x进制
m3m2m1=m1*x^0+m2*x^1+m3*x^2
常量:
字面值常量
字符串("ab"双引号括起来),整数,小数,字符('a' 单引号括起来),布尔( true ; false ),空常量( null )
自定义常量
进制
百度百科:https://baike.baidu.com/item/%E8%BF%9B%E5%88%B6/317457?fr=aladdin进制也就是进位制,是人们规定的一种进位方法。对于任何一种进制-—-X进制,就表示某一位置上的数运算时是逢X进一位。十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。
为什么计算机只识别0和1 https://zhidao.baidu.com/question/191371417.html为什么0和1可以表示丰富的图形和影视 https://www.zhihu.com/question/36269548计算机存储单位
二进制(0b开头)八进制(0开头)+进制(默认)十六进制(0x)
=表示赋值
din'yi变量类型 变量名=初始值;
Java 标识符
自己定义的东西的名字就是标识符(类名,变量名,方法名)
1,由字母(大写和小写)数字 下划线 美元符$
2,不能以数字开头,不能是关键字
3,区分大小写main Main
命名规范(驼峰命名):单词首字母大写
例如:StudentName
见名知意
包名:全部小写,以域名开头
com.sikiedu.tools
com.sikiedu.person
类名字:第一个单词首字母大写,后面的单词首字母大写
函数和变量名:第一个单词首字母小写,后面的单词首字母大写
rd 删除文件夹
del 删除有类容的文件夹
cd 进入文件
:切换盘符
dir 列出当前目录所有文件
md 创建文件夹
cd\ 回到根目录
exit 退出
cls 清屏
tab 自动补全