JAVA基础--注释的使用--标识符--数据类型及数据转换

JAVA基础

三种注释及设置

注释的基本设置

File--->setting--->Etidor--->Java--->comments(注释)

单行注释

//单行注释

多行注释

/*
    多行注释
    多行注释
    多汗注释
 */

文档注释(基于JavaDoc)

/**
 * @author  丹小宇
 *
 *
 *
 *
 *
 */

标识符

常见的关键字(不可用作变量名)

| abstract | assert | boolean |break|byte|
| ---- | ---- | ---- |----|----|----|
| case | catch |char |class|const|
|continue|default|do|double|else|
|enum|extends|final|finally|float|
|for|goto|if|implements|import|
|instanceof|int|interface|lomg|native|
|new|package|private|protected|public|
|return|strictfp|short|static|super|
|switch|synchronized|this|throw|throws|
|transient|try|void|volatile|while|

JAVA所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符

标识符的注意点

  • 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始及首字符
  • 首字符之后可以是字母,美元符,下划线,或数字的任何字符组合
  • 不能使用关键字作为变量名或方法名
  • 标识符需要区分大小写,大小写所表示的标识符含义不同
  • 合法的标识符 例如: age、 _value、 _1_value
  • 非法的标识符 例如: 123abc、 -salary、 #abc

数据类型

强类型语言

要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用

JAVA的数据类型(两类)

基本类型(primitive type)

整数类型
整数类型 byte short int long
字节(个) 1 2 4 8
范围 -128-127 -32768-32767 -2100000000 很大
浮点类型
浮点类型 float double
字节(个) 4 8
字符类型和字符串
  • 字符类型 char 占2个字节
  • 字符串 Sting 注意字符串String 不是标识符
boolean类型

占一位其值只有 ture 和 false 两个

类型代码块

public class HelloWorld {
public static void main(String[] args) {
//八大数据类型

//整型(整数)
int num1 = 10 ; //int型最为常用
byte num2 = 20;
short num3 = 30;
long num4 = 30L; //Long类型要在数字后面加 L(大写) 与int型进行区分

//小数:浮点数
float num5 = 50.1F; //float类型要在数字后面加 F(大写) 符合代码规范
double num6 = 3.1415926535;

//字符
char name = '国';
char namea = '国'; //字符用单引号 ''
//字符串,String不是关键字,类
String nameb = "I Love China";

//布尔值:判断是非
boolean flag = ture;
//boolean flag = false;

}
}

整型拓展

表示不同进制下的10的输出

public class HelloWorld {
    public static void main(String[] args) {
        //整数拓展:     进制    二进制0b    十进制     八进制0    十六进制0x
        int i=10;
        int i1=010; //八进制0
        int i2=0x10;//十六进制0x   0~9  A~F 15
        System.out.println(i);
        System.out.println(i1);
        System.out.println(i2);
    }
}
输出结果:
i = 10;
i1 = 8;
i2 = 16;
各进制的10转换成int(默认为10进制)d的输出结果

数据类型的计算

public class HelloWorld {
    public static void main(String[] args) {
        //====================================
        //浮点数拓展?  银行业务怎么表示?   钱
        //BigDecimal    数学工具类
        //====================================



        //float 有限  离散  舍入误差    大约  接近但不等于
        //double
        //最好完全使用浮点数进行比较
        //例如:
        float f = 0.1f; //0.1
        double d = 1.0/10;  //0.1


        System.out.println(f==d);   //==表示判断 f和d 是否相等
        //输出结果为boolean型--->结果为false
        //原因:类型不同

        float d1 = 233333333333F;
        float d2 = d1+1;
        System.out.println(d1==d2);
        //输出结果为 true

    }


}

数据类型的强制转换

public class HelloWorld {
    public static void main(String[] args) {
        char c1 = 'A';
        char c2 = '中';
        System.out.println(c1);
        System.out.println((int)c1);    //将字符强制转换为int型
        //输出结果为
        //c1 = A;
        //c1 = 65;


        //所有的字符本质还是数字 ASCII码;
        //编码:   Unicode 表:
        // U0000 UFFFF
        char c3 = '\u0061';
        System.out.println(c3);//输出结果为a
    }
}

转义字符

//  \t  制表符
//  \n  换行  

对编译内存的分析

public class HelloWorld {
    public static void main(String[] args) {
        String sa = new String("hello world");
        String sb = new String("hello world");
        System.out.println(sa==sb);     //判断结果为false


        String sc = "hello world";
        String sd = "hello world";
        System.out.println(sc==sd);     //判断结果为true;
        
        //分析:
        //sa,sb访问的是不同的内存--->表示不同地址有相同的值;
        //sc,sd表示指向同一值---->及访问内容一样;
    }
}

类型转换

低---------------------------------------------------->高
byte , short , char ---> int-> long -> float -> double

//运算中,不同类型的数据先转化为同一类型,然后在进行运算。

//强制转换    (类型)变量名    由高--到低
//自动转换        由低--到高 

//小结
1. 不能对布尔值进行转换
2. 不能把对象类型转换为不相干的类型
3. 把高容量转换到低容量的时候,需要强制转换
4. 转换的时候可能存在内存溢出,或者精度问题




public class HelloWorld {
    public static void main(String[] args) {
        int money = 10_0000_0000;
        int years = 20;
        //int total = money*years;    //结果为-1474836480
        //说明:total 为int 类型结果超出 int 的范围
        //该法:   提前转换
        long total = money*((long)years);   //结果为20000000000
              //补充:可以添加下划线_______将要输入的多个0分开,便于观察;
        System.out.println(total);
    }
}

其他语法补充

public class HelloWorld {
    public static void main(String[] args) {
        //if语句
        //boolean型拓展
        boolean flag = true;
        if (flag == true) { }   //新手写法
        if (flag) { }      //符合应有的规范
        //Less is More----->少而精
    }
}
posted @ 2021-07-21 23:21  宇丹陈  阅读(148)  评论(0)    收藏  举报