Java基础:第一章、基础语法

时间:2020-07-25 23:46:03   收藏:0   阅读:64

第一章、基础语法

1、注释、标识符、关键字

注释

1、Java中的注释有三种:

标识符

1、关键词

技术图片

2、标识符注意点

2、数据类型

1、强类型语言

2、弱类型语言

3、Java的数据类型分为两大类

  1. 基本类型(primitive type)

  2. 引用类型(reference type)

    技术图片

4、什么是字节?

5、数据类型面试题讲解

/*
 *
 *@author  Jack
 *@create 2020.07.21 下午 8:18
 */
public class Demo03{
    public static void main(String[] args){
        //整数拓展    进制    二进制0b     十进制  八进制0   十六进制0x
        int i1 = 10;//十进制
        int i2 = 010;//八进制
        int i3 = 0x10;//十六进制

        System.out.println(i1);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("========================================");

        //========================================
        //浮点数扩展?  银行业务怎么表示?钱
        //BigDecimal    数学工具类
        //========================================
        //float   有限的  离散的  舍入误差   结果是个约束  接近但不等于
        //double
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较

        float f = 0.1f;//0.1
        double d = 1.0/10;//0.1
        System.out.println(f==d);//false
        
        float d1 = 223632325f;
        float d2 = d1+1;
        System.out.println(d1==d2);//true
        System.out.println("========================================");

        //========================================
        //字符扩展?
        //========================================
        char c1 = ‘a‘;
        char c2 = ‘中‘;

        System.out.println(c1);
        System.out.println((int)c1);//强制转换

        System.out.println(c2);
        System.out.println((int)c2);

        //所有的字符本质还是数字
        //编码  Unicode 表:(97 = a  65 = A) 2字节  65536  Excel 2*16 = 65536
        // U0000  UFFFF

        char c3 = ‘\u0061‘;
        System.out.println(c3);

        //转义字符
        //\t = 制表符
        //\n = 换行
        //。。。

        System.out.println("Hello\tWorld");
        System.out.println("Hello\nWorld");

        System.out.println("========================================");
        String sa = new String("hello world");
        String sb = new String("hello world");
        System.out.println(sa == sb);

        String sc = "hello world";
        String sd = "hello world";
        System.out.println(sc == sd);

        //布尔值扩展
        boolean flag = true;
        if(flag==true){}//新手程序员
        if(flag){}//老司机
        //Less is More!   代码要精简易读
    }
}

3、类型转换

类型转换的两种方式

/*
 *
 *@author  Jack
 *@create 2020.07.21 下午 10:43
 */
public class Demo05{
    public static void main(String[] args){
        //强制类型转换  (类型)变量名   优先级:高--->低
        int i = 128;
        byte b = (byte) i;//内存溢出
        System.out.println(i);
        System.out.println(b);

        //自动类型转换                优先级:低--->高
        double d = i;
        System.out.println(d);

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

        */

        System.out.println("=============================");
        System.out.println((int) 23.7);//23
        System.out.println((int) -23.78f);//-23
        System.out.println("=============================");
        char a = ‘a‘;
        int g = a+1;
        System.out.println(g);
        System.out.println((char)g);

    }
}

类型转换在操作数值比较大的数时,需要注意的点:

/*
 *
 *@author  Jack
 *@create 2020.07.22 下午 8:57
 */
public class Demo06{
    public static void main(String[] args){
        //操作比较大的数的时候,注意溢出问题
        //JDK7新特性,数字之间可以用下划线做分割,但不会影响其值
        int money = 10_0000_0000;
        System.out.println(money);
        int year = 20;
        int total = money * year;//-1474836480 , 计算结果溢出了
        long total2 = money * year;//两个数相乘默认是int类型,就算你赋值给long也没用,因为在转换之前已经出问题了
        long total3 = (long) (money * year);//这里还是无法成功,因为压根没有解决相乘时的精度问题,还是两个int相乘
        long total4 = money * ((long)year);//问题得到解决!(先把一个数在计算之前转换为long)
        System.out.println(total);
        System.out.println(total2);
        System.out.println(total3);
        System.out.println(total4);

        //L 与 l  大写的L与小写的L,一定要细心。以后表示long都统一使用大写的L。因为小写的l很像数字一!
    }
}

4、变量、常量

变量

常量

变量的命名规范

5、运算符

1、Java语言支持如下运算符:

2、处理运算之间的优先级时,可以尽可能使用括号,让逻辑更加清晰!

6、包机制、JavaDoc

JavaDoc

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!