1.数据类型
1.1整数型
byte、short、int、long
1.1.1整数类型默认int型,所以对于long型常量要在整数后面加上"L"或"l"
1.1.2赋值时不能超过数据类型的数值范围
1.2浮点型
float、double
浮点类型又称实数类型、实型,用于表示带小数点的数据,有单精度和双精度两类,即float和double型。
1.2.1实数默认double型,所以对于float型常量要在整数后面加上"F"或"f"
1.3字符型数据
char
Java语言采用字符集,即用2字节来存储一个字符。字符常量有普通字符常量和转义字符常量两种。普通字符常量是用单引号括起来的一个字符。
public class shujuleixing{
public static void main(String[] args){
//整数型
int num1;
num1=5;
System.out.println(num1);
num1=50;//是num1进行第二次赋值,输出结果为50
System.out.println(num1);
int num2=10;
System.out.println(num2);
byte num3=30;
System.out.println(num3);
byte num4=127;//赋值时不能超过数据类型的数值范围,byte的数值范围为-128---127.
System.out.println(num4);
short num5=50;
System.out.println(num5);
long num6=6000000000L;//整数类型默认int型,所以对于long型常量要在整数后面加上"L"或"l"
System.out.println(num6);
//浮点型
double num7=3.14;
System.out.println(num7);
float num8=3.14f; //实数默认double型,所以对于float型常量要在整数后面加上"F"或"f"
System.out.println(num8);
//字符型
char var1='A';
System.out.println(var1);
boolean var2=true;
System.out.println(var2);
}
}
2.数据转换
类型转换分为两种
自动类型转换(隐含转换)
强制类型转换(显式转换)
小类型-->大类型是自动类型转换,系统铣自动完成
大类型-->小类型需要强制转换可能损失数据,或精 度使用运算符:(数据类型)
2.1数据类型之间的转换分为以下几种情况:
1)低级到高级的自动类型转换
2)高级到低级的强制类型转换(会导致溢出或丢失精度)
3)基本类型向类类型转换
4)基本类型向字符串的转换
5)类类型向字符串转换基本数据类型之间的转换规则
2.1.1在一个双操作数以及位运算等算术运算式中,会根据操作数的类型将低级的数据类型自动转换为高级的数据类型,分为以下几种情况:
1)只要两个操作数中有一个是double类型的,另一个将会被转换成doube类型,并且结果也是double类型
2)只要两个操作数中有一个是float类型的,另一个将会被转换成float类型,并且结果也是float类型;
3)只要两个操作数中有一个是long类型的,另一个将会被转换成long类型,并且结果也是long类型
4)两个操作数(包括byte、short、int、char都将会被转换成int类型,并且结果也是int类型。
2.1.2如果低级类型为char型,向高级类型(整型)转换时,会转换为对应AsCI码值,再做其它类型的自动转换。
字符 | 数值 |
---|---|
0 | 48 |
9 | 57 |
a | 97 |
A | 65 |
z | 122 |
Z | 90 |
2.1.3.对于三种类型而言,他们是平级的,因此不能相互自动转换,可以使用强制类型转换
public class shujuzhuanhuan{
public static void main(String[] args){
System.out.println(1024);
System.out.println(3.14);
long num1=100;
System.out.println(num1);
//float num2-3.14;
//System.out.println(num2);
//float num2=3.14F
//System.out.println(num2);
double num2=3.14F;//自动类型
System.out. println(num2);
float num3=30L;
System.out.println(num3);
long num4=30L;
System.out.println(num4);
int num5=(int)100L;
System.out.println(num5);
int num6=(int)6000000000L;
System.out.println(num6);
int num7=(int)3.14;
System.out.println(num7);
char var1='A';
System.out.println(var1+0);
System.out.println(var1+1);
var1='a';
System.out.println(var1+0);
var1='0';
System.out.println(var1+0);
System.out.println(0);
var1='敏';
System.out.println(var1);
System.out.println(var1+0);
byte num9=10;
byte num10=30;
//byte +byte ==int+int-->int
int result=(byte)(num9=num10);
System.out.println(result);
}
}
3.运算符
Java语言的运算符和其他高级的运算符基本相同。按运算符需要的操作数来分,有一元运算符(如++,--等),二元运算符(如+、*等)和三元运算符(如?:)。
3.1四则运算
public class sizeyunsuan{
public static void main(String[] args){
int a=20;
int b=2;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/b);
}
}
4.变量名唯一
在程序中,变量名都是唯一的,但在作用域中,变量先起作用,然后注销,在这之后重新定义一个同样的变量名,程序正确,可以正常运转
public class bianliangmingweiyi{
public static void main(String[]args){
int num1=5;
num1=10;
System.out.println(num1);
int num2=5;
System.out.println(num2);
byte num3=(byte)200;
System.out.println(num3);
{
int num4=500;
System.out.println(num4);
}
int num4=1000;
System.out.println(num4);
int a,b,c;
a=100;
b=200;
c=300;
System.out.println(a);
System.out.println(b);
System.out.println(c);
int x=100, y=2000, z=3000;
System.out.println(x);
System.out.println(y);
System.out.println(z);
}
}