java、day5 数据类型 强制转换 进制以及比较
强类型语言,所有变量必须先定义才能使用(但是速度相对来说较慢,安全性高)
注释
注释并不会执行
单行注释 //
多行注释/**/
打开文件可以右键单击 open in explorer
#javadoc -encoding UTF-8 -charset UTF-8 文件.java//
#其实javadoc就可以了 加入中间的编码是防止乱码,并且可以解决中文的问题
如何在IDEA中生成一个Javadoc文档 首先新建一个文件夹,用于存放要生成的Javadoc文档。
接下来点击IntelliJ IDEA顶部的Tools菜单,选择Generate JavaDoc选项,如下图所示 然后在弹出的界面中我们点击Output directory输入框后面的按钮,如下图所示
在弹出的选择文件夹界面中选择刚才新建的文件夹 接下来在底部的Locale输入框配置语言和编码集,如下图所示,语言用zh_CN,代表中文 -encoding utf-8 -charset utf-8
然后点击确定以后我们就等待IntelliJ IDEA给我们生成JavaDoc文档即可,等到输出栏出现如下图所示的提示代表生成完毕 7.接下来我们打开JavaDoc文件夹,找到index.html文件,点击就能看到API文档。 ————————————————
javadoc命令是用来生成自己api文档的
标识符
关键字
标识符注意事项
就是自己取名字
String a="hellow";//String 是字符串,是类
int =10;//是整形
变量
八种数据类型要牢牢记住 变量就是 数据类型 变量名 = 多少;(和c语言差不多)
byte-short-char-->int->long->float->double(又低到高)
数据类型转换
有时候要进行类型转换,转换为同一类型,再进行转换。
public class demo4{
public static void main(String[] args) {
int i =128;
byte b=(byte)i;//内存溢出结果是-128
//强制转换 (类型)变量名 高--低
//自动转换 低--高
/*注意点
1、不能把对象类型转换为不想干的类型
2、不能对布尔值进行转换
3、把高容量转换位低容量的时候强制装换
4、转换的时候存在精度问题或者溢出问题
*/
float c=23.7f;
System.out.println(i);
System.out.println(b);
System.out.println((int)c);//将c转换为整数,会存在精度缺失23
System.out.println((int)-34.34f);//-34,结果是负45
char a='a';//
int d=a+1;//因为unicll码是97
System.out.println(d);//98
System.out.println((char) d);//强制转换为字符类型b
int money=2_0000_0000;
int years=20;
long total1=money*years;//因为int类型的最大范围在21亿左右,200亿已经超出范围
//虽然tatol是long类型但是先溢出,再转换
long total2=(long)money*(long)years;//解决办法400亿
long total3=money*(long)years;//这样也会全部转换为long,400亿
System.out.println(total1);
System.out.println(total2);
System.out.println(total3);
}
}
结果:128
-128
23
-34
98
b
-294967296
4000000000
4000000000
Process finished with exit code 0
一个字节8位,那就是2^8次
数据类型
public class shuju{
public static void main(String[] args) {
int num1=10;//最常用
byte num2=20;
short num3=30;
long num4=40L;//要在后面加L
float num5=50.1F;//本类型要在后面加F(大小写没关系)
double num6=2.1415926;
//字符
char name='A';
//字符串,String不是关键字,是类
//String name3=“大疆”;
boolean flag=true;//只占一个位
//boolean vlog=false;
}
}
进制
public class demo3{
public static void main(String[] args) {
//整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x
int num1=10;
int num2=0b10;//二进制的2
int num3=0xf;//16进制的15
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
}
}
浮点数比较问题以及强制转换
public class demo3{
public static void main(String[] args) {
//整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x
int num1=10;
int num2=0b10;//二进制的2
int num3=0xf;//16进制的15
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
//最好避免使用浮点数进行比较
//最好避免使用浮点数进行比较
// 最好避免使用浮点数进行比较 因为是离散的,具有舍入误差
float a1=0.1f;
double a2=1.0/10;
System.out.println(a1);
System.out.println(a2);
System.out.println(a1==a2);//false按理说a1和a2都等于0.1
float a3=132131231;
float a4=132131231+1;
System.out.println(a3);
System.out.println(a4);
System.out.println(a3==a4);//true
char e='a';
char g='国';
System.out.println(e);
System.out.println((int)e);//强行转换为整数类型
System.out.println(g);
System.out.println((int)g);
//所有字符本质上还是数字,比如ascll表 97=a 2字节(中文占两个字节)
char c3='\u0061';
System.out.println(c3);//unicode码为a
//转义字符
System.out.println("hello\nworld");//转义字符,和c语言差不多
}
}
结果:
10
2
15
0.1
0.1
false
1.32131232E8
1.32131232E8
true
a
97
国
22269
a
hello
world
Process finished with exit code 0
Process finished with exit code 0

浙公网安备 33010602011771号