美文网首页
DAY02-JAVA基本语法

DAY02-JAVA基本语法

作者: 無限进步 | 来源:发表于2021-01-05 15:10 被阅读0次

    1.关键字和保留字说明

    关键字(keyword)的定义和特点
        定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)
        特点:关键字中所有字母都为小写
    
    保留字(reserved word)
        Java保留字:现有Java版本尚未使用,但以后版本可能作为关键字使用。自己命名标识符时要避免使用这些保留字;
        例如:goto、const
    

    2.标识符

    标识符:
    Java对各种变量、方法和类等要素命名时使用的字符序列称为标识符
    技巧:凡是自己可以起名字的地方都叫标识符
    
    定义合法标识符规则
    1.由26个英文字母大小写,0-9,_或$
    2.数字不可以开头
    3.不可以使用关键字和保留字,但能包含关键字和保留字
    4.Java中严格区分大小写,长度无限制
    5.标识符不能包含空格
    

    3.命名规范

    Java中的命名规范:
    1.包名:多单词组成时所有字母都小写:xxxyyyzzz
    2.类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
    3.常量名:所有字母都大写。多单词时每个单词用下划线连接,XXX_YYY_ZZZ
    
    注意1:在起名字时,为了提高阅读性,要尽量有意义,“见名知意”。
    注意2:java采用unicode字符集,因此标识符也可以使用汉字声明,但是不建议使用。
    
    补充:
    1.编译:javac xxx.java
    2.运行:java xxx.java
    

    4.变量

    1.变量的概念:
    a.内存中一个存储区域
    b.该区域的数据可以在同一类型范围内不断变化
    c.变量是程序中最基本的存储单位。包含变量类型、变量名和存储值
    
    2.变量的作用
    a.用于在内存中保存数据
    
    3.使用变量注意
    a.Java中每个变量必须先声明,后使用
    b.使用变量名来访问这块区域的数据
    c.变量只有在其作用域内才有效
    d.同一个作用域内,不能定义重名的变量
    

    5.变量的分类

    数据类型
        1.基本数据类型
        2.引用数据类型
    
    基本数据类型
        1.数值型
            a.整数类型:byte、short、int、long
            b.浮点类型:float、double
        2.字符型
            a.char
        3.布尔型
            a.boolean
    
    应用数据类型
        1.类 class
        2.接口 interface
        3.数组
    
    注意:字符串是一种类类型的
    

    6.整数类型

    byte 1字节=8bit位 -128~127
    short 2字节 
    int 4字节 约21亿
    long 8字节 
    

    Java的整型常量默认为int型,声明long型常量须后加‘l’或‘L’

    7.浮点类型

    1.浮点型常量有两种表示形式:
        十进制 5.12、512.9f
        科学计数法形式 5.12e2 512E2
    2.float单精度,尾数可以精确到7位有效数字。
        double双精度,精度是float两倍。通常采用此类型。
    

    Java浮点型常量默认为double类型,声明float型常量,须后加‘f’或‘F’

    单精度 4字节
    双精度 8字节
    

    8.字符类型

    1.1字符=2字节
    2.定义char型变量,通常使用:''
    3.内部只能写一个字符
    

    转义字符:'\n';换行符

    //转义字符
    char c5 = '\n';//换行符
    System.out.print("hello" + c5);
    System.out.println("wrold");
    

    Unicode值表示字符型常量

    //Unicode值表示字符型常量
    char c6 = '\u0214';
    System.out.println(c6);//Ȕ
    

    9.数据类型转换默认转换

    数据类型
    1.+是一个运算符,我们应该能够看懂,做数据的加法。
    2.boolean类型不能转换为其他的数据类型
    3.默认转换
        byte、short、char-int-long- float-double
        byte、short、char相互之间不转换,他们参与运算首先转换为int类型。
    4.强制转换
        目标类型 变量名 = (目标类型)(被转换的数据)
    
    package day02;
    
    /**
     * +是一个运单符,做加法运算的。
     * 一般来说,我们在运算的时候,要求参与运算的数据类型必须一致
     */
    public class DataTypeDemo3 {
        public static void main(String[] args) {
            //直接输出的方式做加法
            System.out.println(3+4);
    
            //两个int类型做加法
            int x = 3;
            int y = 4;
            int z = x + y;
            System.out.println(z);
    
            //定义一个byte类型,一个int类型,做加法
            byte a = 3;
            int b = 4;
            System.out.println(a + b);
    
            //可能损失精度
            //byte c = a+b;
            //System.out.println(c);
        }
    }
    

    强制类型转换

    package day02;
    
    /**
     * 强制转换:
     *  从大的数据类型到小的数据类型
     *
     * 格式
     *  目标数据类型 变量 = (目标数据类型)(被转换的数据);
     *
     * 注意
     *  不要随意的去使用强制转换,因为它隐含了精度损失
     */
    public class DataTypeDemo4 {
        public static void main(String[] args) {
            byte a = 3;
            int b = 4;
    
            //用强制类型转换改进
            byte c = (byte)(a+b);
            System.out.println(c);//7
        }
    }
    

    思考题

    package day02;
    
    /**
     * 思考题1:请问下面这个有没有问题
     *  double d = 12.345;
     *  float f = d;
     *
     * 思考题2:看看下面两个定义有没有区别
     *  float f1 = (float)12.345;
     *  float f2 = 12.345F;
     *
     *  f1其实是通过一个double类型转换过来的,
     *  f2本身就是一个float类型。
     */
    public class DataTypeDemo5 {
        public static void main(String[] args) {
            //把double赋值给了float,加了强制类型转换
            double d = 12.345;
            float f = (float)d;
    
            //看看下面两个定义有没有区别?
            float f1 = (float)12.345;
            float f2 = 12.345F;
        }
    }
    

    面试题

    package day02;
    
    /**
     *  * 思考题:
     *  *  byte b = 130;有没有问题?如果我想让赋值正确,可以怎么做?
     *  *  结果是多少?
     *  *  byte b = 300;
     */
    public class DataTypeDemo7 {
        public static void main(String[] args) {
            //因为byte的范围是:-128~127
            //而130不在此范围内,所以报错。
            //byte b = 130;
    
            //我们可以使用强制类型转换
            byte b = (byte) 130;
            System.out.println(b);//-126
        }
    }
    
    package day02;
    
    /**
     * 'a' 97
     * 'A' 65
     * '0' 48
     */
    public class DataTypeDemo8 {
        public static void main(String[] args) {
            System.out.println('a');//a
            System.out.println('a'+1);//98
        }
    }
    
    package day02;
    
    /**
     * 字符串数据和其他数据做+,结果是字符串类型。这里的+不是加法运算,而是字符串连接符
     */
    public class DataTypeDemo9 {
        public static void main(String[] args) {
            System.out.println("hello"+'a'+1);//helloa1
            System.out.println('a'+1+"hello");//98hello
    
            System.out.println("5+5="+5+5);//5+5=55
            System.out.println(5+5+"=5+5");//10=5+5
        }
    }
    

    相关文章

      网友评论

          本文标题:DAY02-JAVA基本语法

          本文链接:https://www.haomeiwen.com/subject/cdfwoktx.html