DAY02-JAVA基本语法

2021-01-05  本文已影响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
    }
}
上一篇下一篇

猜你喜欢

热点阅读