Loading

零基础入门学习Java课堂笔记 ——day01

Java语法

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

注释

不会被程序执行的代码或者块

//双斜杠表示单行注释

/*表示多行注释*/

标识符、关键字

关键词系统事先定义好的,我们能直接拿来用的,不能作为变量名使用

image

  • 所有的标识符只能以字母、美元符号、下划线开始

  • 首字母后可以以字母、美元符号、下划线或者数字组合

  • 不能使用关键字作为标识符,标识符区分大小写

  • 可以使用中文作为标识符(不推荐)

2.数据类型

Java是一门强类型语言:要求变量的使用严格符合规定,所有话能量要先定义后才能使用

Java两大数据类型

  • 基本数据类型
  • 引用数据类型

image

public class Demo{
    public static void main(String[] args){
        
        //基本数据类型的表示
        int num1 = 10; //最常用的int
        byte num2 = 20; //字节类型
        short num3 = 30; //短整数类型
        long num4 = 60L; //长整数类型 末尾L表示
        float num5 = 50.1F //浮点数float后面+f
        double num6 = 3.1415926535//浮点数类型
        char word = 'H' //char类型表示一个字符 一个!
        boolean t = true; //true or flase
        
    }
}

3.基本类型拓展

public class demo{
    public static void main(String[] args){
        
        //整数
        int i_10 = 10; //表示十进制数的10
        int i_8 = 010; //表示八进制数的10
        int i_16 = 0x10 //表示是十六进制数的10   
        
       	//字符 字符本质还是数字 (int)可以强制转换为其对应的数字,其数字是对于的ASCLL码
        char a = 'n';
        char b = '你';
        System.out.println(a);
        System.out.println((int)a);
        
        System.out.println(b);
        System.out.println((int)b);
        
        //布尔值
        boolean flag = true;
        if(flag){} = if(flag == true){}
    }
}

4.类型转换

在Java运算中,不同类型的数据要先转化为同一数据类型,然后就行运算

原则上转换规则如下:

image

  • 强制类型转换(高到低)
  • 自动类型转换(低到高)
public class demo{
    public static void main(String[] args){
        int i = 128;
        byte b = (int)i; //强制类型转换 内存溢出
        System.out.println(b); //-1
    }
}

注意点

1.不能对boolean类型转换

2.不能把对象类型转换为不相干的类型

3.转换会造成精度损失

拓展:数字之间可以用下划线分割

int money = 100_0000_0000;

5.变量

数据类型 变量名 = 值;

type varName [=value] [{,varName[=value]}];

变量作用域

  • 类变量

    被static修饰 可以在其他方法内部直接使用

  • 实例变量

    与类绑定,调用前必须先new类的对象

  • 局部变量

    在方法内部定义,仅限于方法内部使用

public class Demo{
    
    //类变量 static
    static double salary = 2500.0;
    
    //属性:实例变量 不初始化会编程默认值
    //所有数值都是0或0.0 bool默认是false 
    //除了基本类型都是NULL
    int i = 10;
    
    public static void main(String[] args){
        System.out.println(salary);
        int i = 10; //属性:局部变量
    }
    
    //其他方法
    public void other(){
        Demo d = new Demo();//使用实例对象
        System.out.println(d.i);
    }
}

常量

一旦被定义就不能被改变的称之为常量,常量必须初始化!

final PI = 3.1415926; //常量一般使用大写字母表示

6.基本运算符 operator

image

public class demo{
    public static void main(String[] args){
        int a = 10; //赋值运算符
        int b = 20;
        
        System.out.println(a+b);  //30
        System.out.println(a-b);  //-10
        System.out.println(a*b);  //200
        System.out.println(a/(double)b); //0.5
        System.out.println(a%b); //0
        
        System.out.println(a<b);  //true
        System.out.println(a>b);  //false
        System.out.println(a==b);  //false
        System.out.println(a!=b); //true
        
        int c = a++;
        int d = ++a;
        System.out.println(c); //10
        System.out.println(d); //12
        System.out.println(a); //12
        
        //拓展:幂运算
        double pow = Math.pow(2,3)//2*2*2;
        System.out.println(pow); //8
    }
}

如果运算过程中有long类型的话那么结果都为long反之所有结果都为int

(cast 转换)

逻辑运算符

  • 与(and) &&

    两个运算符都为真时返回真 【运算符相乘】

  • 或(or) ||

    两个运算符其中一个为真返回真【运算符相加】

  • 非(nor) !

    单个运算符取相反的结果【运算符取反】

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

短路运算

与运算时如果第一个操作数为假那么直接返回假 不会计算第二操作数

或运算时如果第一个操作数为真那么直接返回真 不会计算第二操作数

public class demo{
    public static void main(String[] args){
      	int c = 5;
        boolean d = (c<4)&&(c++<4);
        System.out.println(d);//false
        System.out.println(c);//5
        
        boolean d = (c>4)||(c++<4);
        System.out.println(d);//true
        System.out.println(c);//5
    }
}

位运算

&:位相乘结果

|:位相加结果

^:位是否相同 相同得1 反之得0

~:是1得0 是0得1

<<、>>:左移、右移运算符

public class demo{
    public static void main(String[] args){
        /*
        0000 0000   0	
        0000 0001   2	2<<0
        0000 0010   4	2<<1
        0000 0100   8	2<<2
        0000 1000   16	2<<3
        */
        System.out.println(2<<0);//0
        System.out.println(2<<3);
    }
}

效率高!!!!

条件运算符

x ? y : z

如果x为真返回y反之返回z

public class demo{
    public static void main(String[] args){
        int y = 10;
       	int z = 20;
        int x = (y==10)?y:z;
        System.out.println(x); //10
    }
}

运算符优先级

7.包机制

  • 类===>文件

  • 包===>文件夹

一般包以公司域名导致规则

例如:www.baidu.com 倒置后 com.baidu.www

在IDEA创建包时可以输入com.baidu.www会自动创建各个层级包

在Java代码中可以使用package来关联包名

package com.baidu.www; //导入本类包
import java.util.Data; //导入外类包

package必须在import上面

8. Java Doc

image

/**
* @Description 这是文档注释
* @Author StarVik
*/

在控制台编译Doc注释信息为一个文档

javadoc -encoding UTF-8 charset UTF-8 demo.java

课程来源:B站 遇见狂神说

posted @ 2021-05-17 23:08  StarVik  阅读(57)  评论(0编辑  收藏  举报