Java小知识
基本工具介绍
JVM ( Java virtual machine)
JRE (Java runtime environment) Java运行环境
JDK (Java development kit) Java程序开发工具包
熟悉的hello world
public class HelloWorld{ //class后面跟文件名,必须完全一样
public static void main(String[]args){ //String记得大写
System.out.println("Hello,World!"); // System也要记得大写
}
}
1.public class后面代表定义一个类的名称,类是Java当中所有源代码的基本单位。
2.第二行是固定写法,代表main方法,是程序执行的起点。
3.第三行是打印输出语句。
标识符
Java的标识符由英文大小写字母,下划线(_),美元符号($),和数字组成。
注: 不能以数字开头,不能是关键字。
命名规范:驼峰式
常量
字符串常量:凡是用双引号引起来的部分,叫做字符串常量。例如:“abc”,“hello”,“123”.可以没有
整数常量:直接写上的数字,没有小数点。例如:100,0,-120
浮点数常量:直接写上的数字,由小数点。例如:2.5,-3.14
字符常量:凡是用单引号引起来的单个字符。例如:‘a’,‘9’,‘中’
布尔常量:只有两种,true,false。
空常量:null,代表没有任何数据
public class nba{
public static void main(String[]args){
System.out.println("abc");
System.out.println("258");
//字符串常量
System.out.println(100);
//整数常量
System.out.println(3.14);
//浮点数常量
System.out.println('q');
//System.out.println(''); 两个单引号中间必须有且仅有一个字符
System.out.println(true);
System.out.println(false);
//System.out.println(null); 空常量不能打印输出
}
}
变量
变量使用的注意事项
1.创建多个变量,变量之间的名称不能重复。
2.对于float和long类型来说,字母后缀F和L不要丢掉。
3.使用byte和short类型的变量是,右边的数据值不能超过左侧类型的范围。
数据类型
基本数据类型
4类8种
整数型 byte,short,int(默认),long
浮点型 float,double(默认)
字符型 char
布尔型 boolean
顺口溜记忆,所占内存1248 4821、
注意:
1.字符串不是基本类型,而是引用类型。
2.浮点型可能只是一个近似值,并非准确值。
3.数据范围与字节数不一定相关,例如float和long。
4.浮点数默认为double,如果要用float类型,需要加上一个后缀F;
如果是整数,默认为int,要用long类型,加一个后缀L。
Ps: System.out.println(100L);
数据类型转换
当数据类型不一样时,将会发生数据类型转换。
分为:自动类型转换 和 强制类型转换
自动类型转换(隐式):
1.特点:代码不需要进行特殊处理,自动完成。
2.规则 :数据范围从小到大。
public class datatype{
public static void main(String[] arge){
long num1=100;
System.out.println(num1);//100默认为int数据类型,由int到long符合数据范围从小到大的要求,发生了自动类型转换
double num2=2.5F;
System.out.println(num2);//浮点型的自动类型转换
float num3=30L;
System.out.println(num3);//float的范围更大,在两种类型之间也能转换。
}
}
强制类型转换
1.代码需要进行特殊的格式处理,不能自动完成.
2. 格式: 小类型 小变量 = (小类型)大数据
大小是指数据范围的大小。
3.布尔类型不能发生数据类型转换.
4.对于byte、short、char三种类型,如果右侧数值没有超过左侧的范围,编译器补上强转;超过 则直接报错。
注意:
1.强制类型转换一般不推荐使用,因为有可能发生精度损失,数据溢出。
2.byte/short/char这三种类型都可以发生数学运算,例如加法 “+ ”.
3.byte/short/char这三种类型在运算时,都会被首先提升为int类型,然后再计算
public class datatype{
public static void main(String[]args){
int num=(int)100L;
System.out.println(num);//因为100在int范围内,故数据不变
//long强制转换为int型
int bum2=(int)600000000L;
System.out.println(num2);//会发生数据溢出
//double强制转换为int型
int num3=(int)3.99;
System.out.println(num3);//输出3,并不是四舍五入,所有的小数位都会被舍弃掉。
byte num4 = 40;
byte num5 = 50;
int result1 = num4+num5;//byte + byte---》 int+int----》int
System.out.println(result1);
}
}
运算符
逻辑运算符:
与“&&”,或“||”具有短路效果:
如果根据左边已经可以判断到最终结果,那么右边的代码将不再执行,从而节省一定的性能。
三元运算符
注意事项:
1.必须同时保证表达式A和表达式B都符合左侧数据类型的要求。
2.三元运算符的结果必须被使用。
int result = 3 > 4 ? 2.5 : 10 //错误写法!