变量是程序的基本组成单位。
变量由类型、名称以及值三个要素组成
代码演示
int a = 1;
以上代码中,int为变量类型,a为变量名称,1为变量的值
变量相当于内存中一块数据存储空间的表示,不同的数据类型会导致数据存储空间的大小不同。
代码演示
public class plus{
public static void main(String[] args){
System.out.println(100 + 98);
System.out.println("100" + 98);
System.out.println("hello" + 100 + 98);
System.out.println(100 + 98 +"hello");
}
}
输出
198
10098
hello10098
198hello
PS:方括号内部为该基本数据类型的所占字节长度
PS:当把一个整型常量赋值给byte时,先判断该数值是否在byte范围内,如果是就可以赋值
十进制形式:5.12 512.0F .512(等价0.512)
科学计数法形式:5.12E2 5.12E-2
代码演示
public class FloatDetail{
public static void main(String args[]){
double num1 = 2.7;
double num2 = 8.1/3;
System.out.println(num1);
System.out.println(num2);
}
}
输出
2.7
2.6999999999999997//接近2.7但不是2.7
原因:计算机不清楚8.1小数点后到底有几位,这是由计算机储存浮点数的机制决定的
使用点:当我们对运算结果为小数的进行相等判断时,要小心;此时应该使用两个数的差值的绝对值,在某个精度范围内进行判断
不能使用以下判断
if(num1 == num2){
System.out.println("相等");
}
应该使用以下判断
if(Math.abs(num1 - num2) < 0.001){
System.out.println(math.abs(num1 - num2);
System.out.println("相等");
}
代码演示
public class CharDetail{
public static void main(String args[]){
char c1 = ‘a‘;
char c2 = ‘张‘;
char c3 = 97;
char c4 = ‘\t‘;
char c5 = ‘b‘ + 1;
System.out.println(c1);//a
System.out.println(c2);//张
System.out.println(c3);//a
System.out.println(c4);//一个制表位
System.out.println((int)c1);//97
System.out.println(‘a‘ + 10);//107
System.out.println((int)c5);//99
System.out.println(c5);//c
}
}
输出
a
张
a
97
107
99
c
当Java 程序在进行赋值或者运算时,精度小的类型自动转换为精度大的类型,其大小排序规则为:
代码演示
public class AutoConvert{
public static void main(String args[]){
//先转换,后赋值
int a = ‘c‘;
double d = 80;
System.out.println(a);
System.out.println(d);
}
}
输出
97
80.0
强制转换是自动转换的逆过程,会造成精度降低或者溢出,需要注意
代码演示
public class ForceConvertDetail{
public static void main(String args[]){
//int n = (int)10*3.5+6*1.5;错误,原因:double => int
int n = (int)(10*3.5+6*1.5);//(int)44.0 => 44
System.out.println(n);//44
int m = 100;
//char c1 = m;//错误,原因:int => char
char c2 = (char)m;
System.out.println(c2);//输出100对应的字符(d)
}
}
输出
44
d
语法:将基本数据类型的值 + ""
代码演示
public class BasicToString{
public static void main(String args[]){
int n1 = 10;
double d1 = 1.1;
boolean b1 = true;
String s1 = n1 + "";
String s2 = d1 + "";
String s3 = b1 + "";
System.out.println(s1 + ‘\t‘ + s2 + ‘\t‘ + s3);
}
}
输出
10 1.1 true
语法:通过基本类型的包装类调用parseXX方法即可
代码演示
public class StringToBasic{
public static void main(String args[]){
String s1 = "123";
String s2 = "10.1";
String s3 = "true";
int n1 = Integer.parseInt(s1);
double d1 = Double.parseDouble(s2);
boolean b1 = Boolean.parseBoolean(s3);
System.out.println(n1);
System.out.println(d1);
System.out.println(b1);
//怎么把字符串转成字符?没有办法转换,只能取字符串里的某个字符
//String.charAt(x),其中用x来确定取第几个字符,x从0开始数起对应字符串的第一个字符
System.out.println(s1.charAt(0));
System.out.println(s1.charAt(1));
}
}
输出
123
10.1
true
1
2
原文:https://www.cnblogs.com/qi-hei/p/15240062.html