狂神说JavaSE篇Day04

狂神说JavaSE篇Day04,第1张

一.注释、标识符、关键字 1.注释
  • 单行注释
  • 多行注释
  • 文档注释
//单行注释

/*多行注释
打
大苏打*/

/**文档注释*/

有趣的代码注释

2.标识符

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

  • 所有标识符以字母、$、_开头;
  • 不能使用关键字作为变量名或方法名;
  • 标识符是大小写敏感的;
  • 建议用英文
3.关键字

二.数据类型 1.介绍

强类型语言:要求变量的使用严格符合规定,所有变量必须先定义后使用

2.分类

基本类型(primitive type)
数值类型:整数、浮点、字符
bool类型:true,false
引用类型(reference type)
类、接口、数组

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

        //整数
        byte num1 = 12;
        short num2 = 122;
        int num3 = 22233;  //最常用
        long num4 = 22L;  //Long类型要在数字后加L
        System.out.println(num4);
        //浮点数
        float num5 = 50.1F; //float类型后面加F
        double num6 = 3.1415926;
        //字符型
        char na = 'z'; //只能一个字符;要用单引号
        //字符串,String不是关键字,类
        //String name = "zhucheng"; //要用双引号

        //布尔型
        boolean flag = true; //or false

    }
}


数据类型扩展

public class Demo03 {
    public static void main(String[] args) {
        //整数拓展:        进制       二进制0b       十进制     八进制0        十六进制0x
        int a = 10;
        int b = 010;//0~7
        int c = 0x10;//0~9,A-F
        int d = 0b10;//0~1
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
        System.out.println("=========================================");
        //============================================================
        //浮点数拓展 银行业务怎么表示?
        //BigDecimal 数学工具类
        //============================================================
        //float 有限、离散、舍入误差  大约 接近但不等于
        //最好完全避免浮点数进行比较!!!
        float f = 0.1f; //0.1
        double dou = 1.0/10;
        System.out.println(f==dou); //false
        System.out.println(f);
        System.out.println(dou);

        float d1 = 2313131231212121212212f;
        float d2 = d1 + 1;
        System.out.println(d1==d2); //true

        //============================================================
        //浮点数拓展 银行业务怎么表示?
        //============================================================
        char name1 = 'a';
        char name2 = '朱';
        System.out.println((int)name1); //强制转换
        System.out.println((int)name2); //强制转换
        //所有字符本质还是数字
        //编码 unicode 2字节 65536
        char c3 = '\u0061';
        //转义字符 \t 制表符  \n 换行
    }
}
三.类型转换


注意点:

  1. 不能对布尔值进行转换
  2. 不能把对象类型转换成不相干的类型
  3. 在把高容量转换到低容量时,需要用强制转换。转换的过程可能存在内存溢出和精度问题
  4. *** 作比较大的数时注意溢出问题,计算
public class Demo04 {
    public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i; //内存溢出
        double c = i;
        //强制转换 (类型)变量名  高==>低
        //自动转换             低==>高
        System.out.println(i);
        System.out.println(b);
        System.out.println(c);
        //jdk7新特性,数字之间可以用下划线分隔
        int money = 10_0000_0000;
        int years = 10;
        int total = money*years; //1410065408 计算时溢出
        System.out.println(total);
    }
}

四.变量、常量


变量===>内存空间

1.变量作用域
  • 类变量
  • 实例变量
  • 局部变量
public class Demo05 {
    /*
    类变量:static
     */
    static double salary;

    /*
    实例变量,从属于对象,如果不自行初始化,则使用这个类型的默认值;0,0.0
    布尔是false
    除了基本类型,其余默认值都是null
     */
    String name;
    int age;

    //类的main方法
    public static void main(String[] args) {
        //局部变量:方法中的变量,必须声明和初始化值
        int a = 2;
        String name = "zhu";

        //使用实例变量 需要实例化:类名 变量名 = new 类名()
        Demo05 demo05 = new Demo05();
        System.out.println(demo05.name);
        System.out.println(demo05.age);

        //使用类变量
        System.out.println(salary);
    }
    //类的其他方法
    public void add(){

    }
}

2.常量

public class Demo06 {
    //常量定义
    //修饰符,不存在先后顺序,final和static谁前谁后都可以
    static final double PI = 3.14;
    public static void main(String[] args) {
        System.out.println(PI);
    }
}
3.变量命名规范

五.运算符
  1. 算数运算符:+,-,*,/,%,++(自增),–(自减)
  2. 赋值运算符:=
  3. 关系运算符(返回true或false):>,<,>=,<=,==,!=,instanceof
  4. 逻辑运算符:&&,||,!
  5. 位运算符:&,|,^,~,…(了解为主)
  6. 条件运算符:?:
  7. 扩展赋值运算符:+=,-=,*=,/=

运算结果的数据类型为参与运算的变量中最高优先级的数据类型

public class Demo01 {
    public static void main(String[] args) {
        // 二元运算符
        int a = 10;
        short b = 20;
        byte c = 25;
        long d = 25L;
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);
    }
}

字符串连接

public class Demo05 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        System.out.println(""+a+b);//1020
        System.out.println(a+b+"");//30
    }
}

自增、自减

public class Demo02 {
    public static void main(String[] args) {
        // ++ -- 自增,自减 一元运算符
        int a = 3;
        int b = a++; // 先赋值,后自增
        int c = ++a; // 先自增,后赋值

        System.out.println(a); //5
        System.out.println(b); //3
        System.out.println(c); //5

        double pow = Math.pow(2, 3); // Math.pow(2,3) alt+Enter快捷键
        System.out.println(pow);
    }
}

位运算

public class Demo04 {
    public static void main(String[] args) {
    /*
    A = 0011 1100
    B = 0000 1101
    ----------------------
    A&B = 0000 1100
    A!B = 0011 1101
    A^B = 0011 0001  异或运算,相同为0,不同为1
    ~B = 1111 0010

    2*8=16 2*2*2*2
    位运算,效率极高!!!
    << *2 左移
    >> /2 右移
    0000 0000 0
    0000 0001 1
    0000 0010 2
    0000 0011 3
    0000 0100 4
    0000 1000 8
    0001 0000 16
     */
        System.out.println(2<<3);
    }
}

三元运算符

public class Demo06 {
    public static void main(String[] args) {
        //x?y:z
        //如果x等于true,则结果为y,否则结果为z
        int score = 80;
        String type = score<60?"不及格":"及格";
        System.out.println(type);
    }
}

运算符优先级
括号>一元运算符>二元运算符

六.包机制、JavaDoc 1.包机制


package xxx必须在最上面

2.JavaDoc

package com.zhu.base;

/**
 * @author zhu
 * @version 1.0
 * @since jdk1.8
 */
public class Doc {
    String name;

    /**
     * @param name
     * @return
     * @throws Exception
     */
    public String test(String name) throws Exception{
        return name;
    }
}

IDEA生成javadoc

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/792967.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存