java、day5 数据类型 强制转换 进制以及比较

java基本语法

强类型语言,所有变量必须先定义才能使用(但是速度相对来说较慢,安全性高)

注释

注释并不会执行

单行注释 //

多行注释/**/

文档注释 /** +回车

打开文件可以右键单击 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

 

 

 

posted @ 2022-03-17 15:33  newlive122  阅读(55)  评论(0)    收藏  举报