Java基础02

Java基础02

一 变量

1 什么是变量?

变量简单来说就是可以变化的量。

2 变量注意事项

  • Java是一种强类型语言,每个变量都必须声明其类型

  • Java变量是程序中最基本的存储单元 其要素有:变量名 变量类型 作用域

  • 数据类型 变量名 = 值;

    • 数据类型:可以是基本数据类型,也可以是引用类型。

    • 注意完整的语句最后要加分号

3 变量作用域和分类

1.类变量(静态变量,被static修饰的变量、类属性)
2.实例变量
3.局部变量

3.1 类变量(静态变量,被static修饰的变量、类属性)

static int a = 0; 写在类里面,方法外面 作用域很大

3.2 实例变量

  • 实例变量 写在类中间 写在类里面,方法外面。 前面不加static

  • 实例对象不初始化值 就是这个类型对应的默认值
    除了基本类型  其余的默认值都是null
    

3.3 局部变量

局部变量 写在方法里的 需要声明以及初始化 作用域就是这个方法括号

成员变量(如C中的全局变量)

其中实例变量、类变量、常量都是属于成员变量的,成员变量又被称为全局变量

成员变量:类变量,实例变量,生命周期与类相同

局部变量:局部变量,生命周期就是这个方法

全局变量:Java中没有全局变量的概念,全局变量是面向过程语言(如C语言)中的概念。由static修饰的变量称为静态变量,其实质上就是一个全局变量。

其中实例变量、类变量、常量都是属于成员变量的,成员变量又被称为全局变量

二 常量

1 什么是常量?

特殊的变量 值不能改变。

2 常量注意要点

final代表常量

final 变量类型 常量名 = 值; 常量名一般使用大写字符

static final int PI = 3.14;//加static是为了方便调用!
final static double PI = 3.14;
//static final double PI = 3.14;

public\privatefinalstatic 都属于修饰符 不用区分先后顺序 都行都一样。

public static final double DI = 3.21;
private static final double d = 3.21;

重要注意-变量的命名规范

  • 所有变量、方法、类名:见名知意

  • 常量:所有字母都大写 和下划线 MAX_VALUE

  • 类名:首字母大写和驼峰原则 Hello HelloWorld

  • 方法名:首字母小写和驼峰原则:run() runRun()

  • 类成员变量:首字母小写和驼峰原则 monthSalary (除了第一个单词,后面的单词首字母大写)

  • 局部变量:首字母小写和驼峰原则

四 运算符

(注意运算的优先级)

/* 优先级低-->高byte  short   char  int   long    float  double
* 规律:
* 根据优先级:
* 1.操作数中无int类型,结果为int
* 2.操作数中优先级最高的为int,结果为int
* 3.操作数中类型优先级大于int的 ,结果类型为操作数中最高的类型
* */

/*
* System.out.println((String)(c+d));//报错 cast 'int' to 'java.lang.String'
* 可以前面加String 根据提示来看是什么类型。
* */
public class Demo05 {
    public static void main(String[] args) {
        byte b = 8;
        short s = 10;
        char c = '2';
        int i = 23;
        long l = 211321312312L;
        float f = 21.3f;
        double d = 21.5;

        //变量类型不同进行运算
        System.out.println((b + s));//byte + short = int
        System.out.println((b + c));//byte + char = int
        System.out.println((b + i));//byte + int = int
        System.out.println((b + l));//byte + long =long
        System.out.println((b + f));//byte + float = float
        System.out.println((b + d));//byte + double = double
    }
}

1 算术运算符

+ - * / % ++ --

2 赋值运算符

=

扩展赋值运算符:
+= -= *= /=
public class Demo07 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;

        a += b; //a = a + b;
        System.out.println(a);
        a -= b; //a = a - b;  //注意此时a为30 30-20 = 10

        System.out.println(a);
        System.out.println("--------------------------------------------");
        //字符串连接符 +
        int c = 10;
        int d = 20;
        System.out.println("cd的和为:" + c + d);
            //面试题
        System.out.println("ddd" + c + d);//前面有String类型   就会把后面得 c 和 d 都转化为String类型
        System.out.println(c + d + "ddd");//这是后面有String类型  先c+d得出结果30  然后与后面的String类型连接


        System.out.println("Hello World !");
    }
}

3 关系运算符

> < >= <= == !=
public class Demo03 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 21;
        System.out.println(a > b);  //false
        System.out.println(a < b);  //true
        System.out.println(a == b); //false
        System.out.println(a !=b);

        System.out.println(a = b);  //赋值
        System.out.println(a != b); //返回值为布尔类型 false true       //true
        System.out.println(c % a);  //1
        System.out.println("Hello World !");
    }
}

4 逻辑运算符

&& || !

与 &&    and  
或 ||    or
非 !     取反

短路运算

public class Demo05 {
    public static void main(String[] args){
        boolean a = true;
        boolean b = false;
        System.out.println(a && b);
        System.out.println(a || b);
        System.out.println(!(a && b));

        //短路运算
        int c = 5;
        boolean d = (c < 4) && (c++ < 4);
        System.out.println(d);
        System.out.println(c);

        /*
        * c的值没有变为6  仍为5
        * 是因为boolean d = (c < 4) && (c++ < 4); 判断(c <4 )为假  直接输出结果为假    没有执行 (c++ < 4)
        * */
        System.out.println("--------------------");
        int c1 = 3;
        boolean d1 = (c1++ < 4);// 先3<4 true  后 c1= c1+1=4
        System.out.println(d1);
        System.out.println(c1);

        int c2 = 3;
        boolean d2 = (++c2 < 4);// 先c2自加为4   后比较 false
        System.out.println(d2);
        System.out.println(c2);
        System.out.println("Hello World");
    }
}

5 位运算 有面试题

& 	|	^	 ~	>> 	<<	 >>>(了解!!!)
public class Demo06 {
    public static void main(String[] args) {
        /*
        位运算***
        A = 0011 1100
        B = 0000 1101
        --------------------------------------------
        A&B 0000 1100    (A与B 对应位都为1得1 有0得0)
        A|B 0011 1101    (A或B 对应位都为0得0 有1得1)
        A^B 0011 0001    (取反/异或 对应位相同得0 不同得1)
        ~B  1111 0010    (B对应位为1得0 为0得1 都取反)

        问2 * 8 = 16 计算机怎么算最快        2 * 2 * 2 * 2 = 16
         */

        /*
        <<  左移  相当于把数字*2
        >>  右移  相当于把数字/2
        2 << 3  0000 0010   对应十进制2
                1左移三位
                0001 0000   对应十进制16
         */
        System.out.println(2 << 3);//2*2*2*2
        System.out.println("Hello World !");
    }
}

6 条件运算符(三元运算符)

? :
x ? y : z
当x为true 则结果为y 否则结果为z
//三元运算符 条件运算符 ? :               //必须会
public class Demo08 {
    public static void main(String[] args) {
        // x ? y : z
        //当x为true 则结果为y 否则结果为z
        int score = 80;
        String type = score > 60 ? "及格" : "不及格";
        System.out.println(type);

        System.out.println("Hello World !");
    }
}

五 Java生产Doc文档

javadoc命令是用来生成自己的API文档的

详情请查看我的博客使用IntelliJ IDEA生产JavaDoc文档

六 包机制

package 相当于 文件夹

一般利用公司域名倒置作为包名

www.baidu.com com.baidu.www

学习阿里巴巴开发手册

posted @ 2022-04-10 15:29  intelliyu  阅读(10)  评论(0编辑  收藏  举报