数据类型
Java 语言是一种强类型语言。通俗点说就是,在 Java 中存储的数据都是有类型的,而且必须在编译时就确定其类型。 Java 中有两类数据类型:
在 Java 的领域里,
基本数据类型变量存的是数据本身,
引用类型变量存的是保存数据的空间地址。
说白了,基本数据类型变量里存储的是直接放在抽屉里的东西,而引用数据类型变量里存储的是这个抽屉的钥匙,钥匙和抽屉一一对应。
double heightAvg1=75.8;
int heightAvg2=(int)heightAvg1;
System.out.println(heightAvg2);//75
通过强制类型转换将(double) 75.8 赋值给 int 型变量后,结果为 75,数值上并未进行四舍五入,而是直接将小数位截断。
强制类型转换可能会造成数据的丢失哦,小伙伴们在应用时一定要慎重哦!
常量,我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变。
语法:final 常量名(一般使用大写字符) = 值;
final double PI=3.14
提高代码的可维护性
注释
eclipse 中:
文档注释快捷键
Alt+Shift+J
默认的文档注释:
/**
- @author ###
*/
修改 文档注释的注释格式内容的方法有两种:
1.直接在eclipse给的模板下进行修改
打开eclipse
Window–>Preferences–>Java–>Code Style --> Code Templates --> Comments --> types --> Edit
例如:
/**
*
* 项目名称:${project_name}
* 类名称:${type_name}
* 类描述:
* 创建人:${user}
* 创建时间:${date} ${time}
* @version
*/
多行注释快捷键
Ctrl+Shift+/ : 添加/* /注释
Ctrl+Shift+\ : 消除/ */注释
单行注释快捷键
ctrl + shfit + c 或者 Ctrl+/: 添加//注释
ctrl + shfit + c 或者 Ctrl+/: 消除//注释
jsp里单行注释:Ctrl+Shift+C;
js里单行注释:Ctrl+Shift+C 或者 Ctrl+/
运算符
++ 和 – 既可以出现在操作数的左边,也可以出现在右边,但结果是不同滴
注意!自增和自减运算符只能用于操作变量,不能直接用于操作数值或常量!例如 5++ 、 8-- 等写法都是错误滴!
PS:% 用来求余数,也称为”取模运算符“
当使用逻辑运算符时,我们会遇到一种很有趣的“短路”现象。
&,&&:(与,短路与):一样的地方就是二者执行最后的结果是一样的,但是执行的过程有区别,
对于&:无论&左边是否为false,他都会继续检验右边的boolean值。
对于&&:只要检测到左边Boolean值为false时,就会直接判断结果,不会在检验右边的值(因为"与"有一个false最后结果就是false了)
所以&&的执行效率更高,所以一般都是使用&&.
|与||之间也是同样的道理,|:无论左边是否为ture,都会检验右边 ,||:则不会。|| 的执行效率会更高
条件语句
1、 switch 后面小括号中表达式的值必须是整型或字符型
2、 case 后面的值可以是常量数值,如 1、2;也可以是一个常量表达式,如 2+2 ;但不能是变量或带有变量的表达式,如 a * 2
3、 case 匹配后,执行匹配块里的程序代码,如果没有遇见 break 会继续执行下一个的 case 块的内容,直到遇到 break 语句或者 switch 语句块结束 如
运行结果是:
奖励笔记本一台
奖励笔Ipad 2一个
奖励移动电源一个
奖励U盘一个
4.可以把功能相同的 case 语句合并起来
case 1:
case 2:
System.out.println("奖励笔Ipad 2一个 ");
do…while :先执行,后判断
语句保证循环至少被执行一次!
数组
1.声明数组
语法: 数据类型[ ] 数组名;int[] scores;
或者 数据类型 数组名[ ];String names[];
2.分配空间
数组名 = new 数据类型 [ 数组长度 ];
new 数据类型[数组长度]
将上面的两个步骤合并,在声明数组的同时为它分配空间,如:
int[] scores=new int[5];//new 后是 数据类型
在 Java 中还提供了另外一种直接创建数组的方式,它将声明数组、分配空间和赋值合并完成
int[] scores={1,2,3,4};
等价于
int[] scores=new int[]{1,2,3,4};
new int[必须为空,不能指定长度]{****}
使用 Arrays 类操作 Java 中的数组
//导入Arrays类
import java.util.Arrays;
1、 排序
语法: Arrays.sort(数组名);
2、 将数组转换为字符串
语法: Arrays.toString(数组名);
二维数组:
1、 声明数组并分配空间
数据类型[ ][ ] 数组名=new 数据类型[行个数][列个数];
或
数据类型[ ][ ] 数组名;
数组名=new 数据类型[行个数][列个数];
int[][] num=new int[2][3];
2、 赋值
二维数组的赋值,和一维数组类似,可以通过下标来逐个赋值,注意索引从 0 开始
数组名[行的索引][列的索引]=值;
String[0][1] names=“jack”;
也可以在声明数组的同时为其赋值
String[][] names={{"tom","jack","mike"},{"zhangsan","lisi","wangwu"}};
在定义二维数组时也可以只指定行的个数,然后再为每一行分别指定列的个数。如果每行的列数不同,则创建的是不规则的二维数组
//定义一个3行的二维数组
int[][] num=new int[3][];
//为第一行分配2列并赋值
//num[0]=new int[2];
//num[0][0]=0; num[0][1]=1;等价于下面语句
num[0]=new int[]{0,1};
num[1]=new int[]{0,1,2};
num[2]=new int[]{0,1,2,3};
for (int i = 0; i < num.length ; i++) {
for (int j = 0; j < num[i].length; j++) {
System.out.print(num[i][j] +" " );
}
System.out.println();
}
输出:
0 1
0 1 2
0 1 2 3
方法
访问修饰符 返回值类型 方法名(参数列表【形参】){
方法体
}
我们把定义方法时的参数
称为形参,目的是用来定义方法需要传入的参数的个数和类型;把调用方法时的参数
称为实参,是传递给方法真正被处理的值。
调用
调用方法时,实参不需要指定数据类型
对象名.方法名(实参1,实参2…)
判断方法重载的依据:
1、 必须是在同一个类中
2、 方法名相同
3、 方法参数的个数、顺序或类型不同
4、 与方法的修饰符或返回值没有关系
//导入java.util.Arrays;
通过 (int)(Math.random() * 100) 生成 100 以内的随机数
Math 类是用于进行算术操作的类,Math.random() 生成 0–1 的浮点数。