目录
Java中分为两种数据类型,原始(基本)类型和引用类型
原始类型
整型
- byte 字节型
- short 短整型
- int 整型
- long 长整型
浮点型
- float
- double
字符型
-
char
布尔型
- boolean
引用类型
- 数组
- 类
- 接口
数据类型的转换
数据类型之间可以转换分为强制转换和自动转换
自动转换
容量小的类型转换为容量大的数据类型 小——————>大
强制转换
将容量大的类型转换为容量小的数据类型 大——————>小
public class text {
public static void main(String[] args) {
//小容量到大容量是自动转换
byte a=10;
int b=a;
System.out.println("b="+b);
//大容量到小容量是强制转换
//因定义的c为300大于了byte的容量-128~127,所以又重新从-128开始计算
int c=300;
byte d=(byte)c;
System.out.println("d="+d);
}
}
b=10
d=44
变量
定义变量
- 声明变量
//语法:数据类型 + 数据名 int a;
- 赋值变量
//语法 数据名 = 值 a=10;
通常我们都是声明变量和赋值同时完成
int a=10;
注:定义 float时要在值后面加f
变量分类
- 成员变量,在方法体外声明
- 局部变量,在方法体外声明
运算符
算数运算符
运算符 | 运算 |
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取余 |
++ | 自增 |
-- | 自减 |
注:自增(自减)在前, 先运算后取值
public class text {
public static void main(String[] args) {
int a=10;
int b=++a;//先算a+1,在进行b的赋值
System.out.println(a);
System.out.println(b);
}
}
11
11
自增(自减)在后,先取值后运算
public static void main(String[] args) {
int a=10;
int b=a++;//b先取值之后再算a+1
System.out.println(a);
System.out.println(b);
}
11
10
关系运算符
运算符 | 运算 |
== | 等于 |
!= | 不等于 |
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
逻辑运算符
运算符 | 运算 |
&& | 与 |
|| | 或 |
! | 非 |
与&&
语法: 表达式1 && 表达式 2
两个表达式都为真 结果才为真
表达式1 | 表达式2 | 结果 |
真 | 真 | 真 |
假 | 真 | 假 |
真 | 假 | 假 |
假 | 假 | 假 |
或||
语法: 表达式1 || 表达式 2
两个表达式只要一个为真,结果就为真
表达式1 | 表达式2 | 结果 |
真 | 真 | 真 |
假 | 真 | 真 |
真 | 假 | 真 |
假 | 假 |
非!
语法: !表达式1
表达式为真结果就为假,表达式为假结果就为真
位移运算符
运算符 | 运算 |
>> | 右移 |
<< | 左移 |
左移<<
运算规则:
先把值转换为二进制,再把二进制的值最末尾加个0;
如:
int a=5;
int n=a<<1;//5——>101 ——>1010——>10
System.out.println(n);//10
右移>>
运算规则:
先把值转换为二进制,再把二进制的值去掉最右的值;
int a=6;
int n=a>>1;//6——>110——>11——>3
System.out.println(n);//3
条件运算符
三目运算符:表达式 1?表达式2:表达式3
当表达式1为true时执行表达式2,否则执行表达式3
注:表达式2与表达式3类型要相同
表达式2与表达式3类型不同时,执行的结果的类型为范围大的数据类型
int a=10;
double b=20.0;
System.out.println(true?a:b);//10.0
运算符的优先级
小括号>>单目运算符(!、++、--)>>算术>>关系>>逻辑>>条件>>赋值
条件语句
if语句
语法:if(条件语句){执行语句}
//单分支
if(){
}
//双分支
if(){
}else{
}
//多分支
if(){
}else if(){
}else{
}
//嵌套语句
if(){
if(){
}
}
switch语句
switch(非long整型、char、String、enum){
case 可能的值:
break;
case 可能的值:
break;
case 可能的值:
break;
case 可能的值:
break;
default:
break;
}
注:不写break程序还会往下执行
循环语句
for循环
for(定义循环变量;循环条件;更新循环变量){
循环体
}
while循环
while(循环条件){
循环体
}
do-while循环
do{
循环体
}while(循环条件)
注 :do-while 与while循环的区别,do-while先执行循环体在来判断循环条件,while先判断循环条件后循环。
当已知循环次数时,建议使用for循环;未知循环次数时,建议使用while循环;先执行一次后再判断时使用do-while循环。
循环控制
在循环语句与条件语句中break与return都能中止程序的运行;
return的功能是中止方法,只要遇到了return方法就会结束不会执行其他的代码,通常return在main方法里用,在其他方法必须返回一个值
break的作用是跳出当前的条件语句或者循环语句,条件语句和循环语句之后的代码还会执行
continue中止的是本次循环
数组
一组类型相同的数据的有序集合
数组的定义
数据类型[] 数组名 = new 数据类型[数组大小];
数组的初始化
- 数据类型[] 数组名 = new 数据类型[]{元素1,元素2...};
- 数据类型[] 数组名 = {元素1,元素2...};
数组的赋值与取值
通过"数组名[下标]"访问。
注:数组的值下表从0开始计算,如数组中第一个元数 a[0],这里要把数组定义时数组大小区分开
遍历数组
String[] nameList={"admin","qwe","ez"};
//方法一
for (int i;i<nameList.length;i++){
System.out.println(nameList[i]);
}
//方法二
for(String name : nameList){
System.out.println(name);
}
通常使用方法二