public class b {
public static void main(String[] args) {
//浮点类型 //浮点类型默认double
float f=13.3f; //float占四个字节,在写的时候需要在后面加上f。小数类型默认的是double,不加f会损失精度
double d=33.3; //double占八个字节
//整数类型 //整数类型默认int
byte b=10; //占一个字节
short s=20; //占两个字节
int i =30; //占四个字节
long x=40; //占八个字节 //如果long后面需要加L进行标识,需要加L,因为l和1太像
System.out.println(0b100); //0b表示二进制
System.out.println(0100); //前面加0表示八进制
System.out.println(100); //十进制
System.out.println(0x100); //0x表示十六进制
System.out.println(f);
System.out.println(d);
//数据转换之强制类型转换
int m=4;
byte n=3;
/*
n=m + n;
System.out.println(n);
//因为int是4个字节而byte是一个字节,如果输出int,则可将byte前面补上3位0。而若要输出byte,会导致int的前三位缺失
*/
n = (byte) (n + m);
System.out.println(n); //因为本题所输出的类型也是byte,所以可以在前面强制进行byte转换,令所输出的为byte类型。
//byte n=(byte) (126 + 4); //如果所输出的超过byte类型,则会去掉前面只保留最后八位成为输出结果
/*
byte和byte(short,char)运算时会提升为int,两个int类型相加的结果也是int
eg:
byte b1=3;
byte b2=4;
byte b3 = b1 + b2; //报错提示会损失精度
//同时b1 b2是两个变量,变量存储的值是变化的,在编译的时候无法判断里面具体的值,相加时有可能会超出byte的取值范围。
*/
byte b4 = 3 + 4;
System.out.println(b4); //java编译器有常量优化机制,即在这里先加3+4计算出来,然后判断在byte范围内,所以可以输出
//ASCII表
System.out.println('a' + 1); //字符与int相加会将字符自动提升为int类型,ASCII码表中a字符对应int类型的97
System.out.println((char) ('a' + 1)); //可将所得到的98强制转化为char类型,而98在ASCII表中是由b表示
System.out.println("hello" + 'a' + 1); //任何数据类型与字符串用+号连接都会产生新的字符串,输出helloa1
System.out.println('a' + 1 + "hello"); //输出98hello,因为从左往右进行计算,会先进行'a'+1,生成的数据再与字符串相连接
System.out.println("5 + 5 =" + (5+5)); //先加上小括号可以提升后面5+5的优先级再与前面的字符串进行连接,若没有小括号会直接生成字符串
//char是否可以存储中文
char c1 = '中';
System.out.println(c1); //char可以存储中文,但是单引号只能一个字符,只能一个字符。 //java采用的是unicode编码,unicode编码中每两个
//字符占用两个字节,中文占用的也是两个字节,所以java中的字符可以存储一个汉字。
//System.out.println(10 / 3); //整数与整数相除的结果只能是整数,虽然不能整除,但是只能得到3
//System.out.println(10 / 3.0) //整数与小数相除会得到小数,即3.3333333
//a++和++a 在单独使用的时候没有区别
int a = 3;
a++;
System.out.println("a =" + a);
int p,h;
int e = 4;
int g = 5;
p = e ++; //当++在变量后面的时候会先将变量中的值取出进行赋值操作然后在进行+1。如e=4,p=e++,则先将e的值赋值给p,e再进行+1
h = ++ g; //当++在变量前面的时候会先进行+1,再将变量进行赋值操作。如g=5,h=++g,则现将g进行++操作,再将所得到的6赋值给h
System.out.println("p = " +p);
System.out.println("h = " +h);
System.out.println("e = " +e);
System.out.println("g = " +g);
}
}
网友评论