day.9(Java基础语法)

基础语法

注释

  1. 注释,标识符,关键字【基础】

    • 注释有三种【书写注释是一个非常好的习惯

      • 单行注释.........//单行注释

      • 多行注释........./* 多行注释 */

      • 文档注释........//Javadoc:文档注释/**

  2. 数据类型*

  3. 类型转换

  4. 变量,常量

  5. 运算符【+,-,*,/】

  6. 包机制,JavaDoc

标识符

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

  • 关键字

|

public class//(关键字) hello//(类名) {
    public static void main(String[] args) {
        //单行注释
        //输出一个hello,world!!!

        /*多行注释*/
        /*hello,
        world*/
        //Javadoc:文档注释      /**
        /**【回车】
         * @Description hello,world!!
         * @Author caesar
         */
         String teacher = "秦疆";
        String Ahello ="qinjiang";
        String ahello ="qinjiang";
        String $eacher = "秦疆";
        String _eacher = "秦疆";
        String 王者荣耀 = "秦疆";
        
        System.out.println("HELLO,WORLD!!!");
    }
}


常见关键字

常见关键字

标识符注意点

  • 所以的标识符都应该以字母(A-Z或a-z),美元符($),或者下划线(_)开始
  • 首字符之后可以是字母(A-Z或a-z),美元符($),或者下划线(_)或数字的任何字符组合
  • 不能使用关键字作为变量名或方法名
  • 标识符是大小写敏感的
  • 合法标识符:age,$salary,_value,__1_value
  • 非法标识符:123abc,-salary,#abc
  • 可以使用中文命名,但是一般不建议使用,也不建议用拼音,很low

数据类型

强类型语言

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

安全性高,速度慢

弱类型语言

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

与强类型相反

Java的数据类型分为两大类

  • 基本类型(primitive type)

  • 引用类型(reference type)

基本类型

public class Demo02 {
    public static void main(String[] args) {
        //八大基本类型

        //整数
        int num1 = 10;  // 最常用
        byte num2 = 20;
        short num3 = 30;
        long num4 = 30L; //Long类型要在数字后加个L

        //小数,浮点数
        float num5 = 50.1F;//float类型后要加F
        double num6 =3.1415926;//不用加D

        //字符
        char name = 'A';//一个字符
        char name3 = '中';//要分开
        char name4 = '国';

        //字符串,String不是关键词,类
        String name2 = "caesar.spike";
        String name5 = "中国";//不用分开

        //布尔值:是非
        boolean flag = true;//是
        boolean flog = false;//非


        System.out.println(name5);
    }
}

引用类型

什么是字节

  • 位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数
  • 字节(byte):是计算机数据处理的基本单位,习惯上用大写B来表示
  • 1B(byte,字节)=8bit(位)
  • 字符:是指计算机中使用的字母,数字字,和符号
  • 1bit表示1位
  • 1Byte表示一个字节1B=8b
  • 1024B=1KB
  • 1024KB=1M
  • 1024M=1G

知识点

public class Demo03 {
    public static void main(String[] args) {

        //整数拓展:   进制    二进制0b开头     十进制     八进制0开头     十六进制0x开头

        int i = 10;
        int i2 = 010;//八进制十0
        int i3 = 0x10;//十六进制十0x    0~9   A~F   16

        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("===========================================================");
        //===========================================================
        //浮点数拓展:        银行业务怎么表示?钱    不能用浮点数
        //BigDecimol        数学工具类
        //===========================================================
        //float    有限   离散  舍入误差   大约  接近但不等于
        //double
        //最好完全使用浮点数进行比较
        //最好完全使用浮点数进行比较
        //最好完全使用浮点数进行比较

        float f = 0.1f;//0.1
        double d = 1.0/10;//0.1

        System.out.println(f==d);//false
        System.out.println(f);
        System.out.println(d);

        float d1 = 21234144411f;
        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字节   0~65535  个字符    Excel只有2的十六次方=25536长

        //U000   UFFF
        System.out.println("===========================================================");

        char c3 = '\u0061';
        System.out.println(c3);//a

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

        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);
        //对象  从内存分析

        //布尔值拓展
        System.out.println("===========================================================");
        boolean flag = true;
        
        if(flag==true){}//新手
        // if(flag==true){}  =  if(flag){}
        if(flag){}//老手
    }
}

类型转换

  • 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
低-------------------->高【容量,字符大小】
byte,short,char-->int-->float-->double
  • 运算中,不同类型的数据先转化为同一类型,然后进行运算

  • 强制类型转换

  • 自动类型转换

要点

public class Demo05 {
    public static void main(String[] args) {
        int i = 128;
        //byte b = i;(报错)
        byte b = (byte)i;//内存溢出
        //强制转换 (类型)变量名   高--低
        double d = i;//无报错
        //自动转换 低--高

        System.out.println(i);//128
        System.out.println(b);//-128,因为byte类型范围-127~128
        System.out.println(d);//128.0
        /*
        注意点
        1.不能对布尔值进行转换
        2.不能把对象类型转换为不相干的类型
        3。把高容量转换到低容量的时候,强制转换
        4.转换的时候可能内存溢出,或者精度问题!
         */
        System.out.println("==========");
        System.out.println((int)23.7);//23
        System.out.println((int)-45.89f);//45

        System.out.println("==========");
        char x = 'a';
        int y = x+1;
        System.out.println(y);
        System.out.println((char)y);




    }
}
public class Demo06 {
    public static void main(String[] args) {
        //操作比较大的时候,注意溢出问题
        //JDK7新特性,数字之间可以用下滑线,分割
        int money = 10_0000_0000;
        int years = 20;
        int total = money*years;
        System.out.println(money);//1000000000
        System.out.println(total);//-1474836480,计算时候溢出
        long total2 =money*years;//默认是int,转换之前已经存在问题了
        System.out.println(total2);//-1474836480结果没有变化
        long total3 = money*((long)years);//先把一个数转换为long【细节,细节】
        System.out.println(total3);//20000000000,结果正确




    }
}
posted @ 2021-03-06 13:38  Caesar_spike  阅读(74)  评论(0编辑  收藏  举报