一、类型间的转换
数据类型由小到大依次为:byte,short,int,long,float,double
1.两种方式:
自动/隐式类型转换:小类型到大类型;强制类型转换:大类型到小类型
语法:(要转换成为的数据类型)变量
注意:强转有可能溢出或丢失精度
2.两点规则
整数直接量可以直接给byte,short,char赋值,但不能超范围
byte,short,char型数据参与运算时,系统会自动将其统一转换为int再运算
二、运算符
1)算数运算符:+、-、*、/、%、++、--
1. %:取模/取余,余数为0即为整除
2.++/--: 增1/自减1,可在变量前也可在变量后
单独使用时,在前在后都一样;被使用时,在前在后不一样
eg-> a++的值为a----------(a--的值为a)
++a的值为a+1--------(--a的值为a-1)
2)关系运算符:
>(大于)、<(小于)、>=(大于或等于)、<=(小于或等于)、==(等于)、!=(不等于)
关系运算的结果为boolean型,关系成立则为true,关系不成立则为false
3) 逻辑运算符:&&、||、!
逻辑运算是建立在关系运算的基础之上的,逻辑运算的结果也是boolean型
1.&&:短路与(并且),两边都为真则为真,见false则false
2. ||:短路或(或者),有真则为真,见true则true
3. !:逻辑非(取反),非真则假,非假则真
4)赋值运算符 =、+=、-=、*=、/=、%=
扩展赋值运算符自带强转功能
5)字符创建运算符 +
若两边为数字,则做加法运算; 若两边出现了字符串,则做字符串连接;
任意类型的数据只要和字符串连,结果都会变为字符串类型---同化作用
注:string 字符串型,双引号中
6)三目运算符
语法: boolean?数1:数2
执行过程:整个表达式是有值的,它的值要么是问号后的数1,要么是冒号后的数2
判断boolean的值:
若为true,则整个表达式的结果为?号后的数1;
若为false,则整个表达式的结果为:号后的数2
三、分支结构
1.语法:
if(boolean){语句块-------------基于条件执行的语句}
2.if...else结构
语法:if(boolean){语句块1}else{语句块2}
3.switch...case结构
优点:效率高、结构清晰 ; 缺点:只能对整数判断相等
break:跳出switch
eg-> switch后数据的类型可以为:byte,short,char,int,String,枚举类型
四、循环结构
1.循环三要素:循环变量的初始化;循环的条件(以循环变量为基础):循环变量的改变(向着循环的结束变)
2.while结构:先判断后执行,有可能一次都不执行
3.do...while结构:先执行后判断,至少执行一次
生成随机数: 1到1000
```java
Math.random()-------------0.0到0.999999999999999...
*1000---------------------0.0到999.9999999999999...
+1------------------------1.0到1000.999999999999...
(int)---------------------1到1000
4.for循环结构
语法:1243
for(要素1;要素2;要素3){
语句块/循环体---------------反复执行的语句 4
}
随记加法运算器:
break:跳出循环;continue:跳过循环体中剩余语句而进入下一次循环
5.嵌套循环
print:不换行;println:换行执行;\t:水平制表位,固定占8位
五、数组
1定义:是一种数据类型(引用类型),相同数据类型元素的集合
2:初始化:
3. 访问:
通过(数组名.length)可以获取数组的长度(元素个数)
通过下标/索引来访问数组中的元素,下标从0开始,最大到(数组的长度-1)
遍历/迭代:从头到尾挨个走一遍