JAVA的基本语法

注释、标识符、关键字

注释

注释不会被执行,是给我们写代码的人看的

JAVA中的注释有三种

  • 单行注释
  • 多行注释
  • 文档注释
/**
 * @Louis Restart
 * @date 2022/5/31 0031 23:41
 */
public class HelloWorld {
    public static void main(String[] args) {
        //单行注释 //
        //输出一个HelloWorld
        System.out.println("Hello,World");

        //多行注释
        /*
        * 这是多行注释
        * 这是多行注释
        * 这是多行注释
        * 这是多行注释
         */

        //文档注释

        /**
         *
         *
         * 
         */

    }
}

标识符

关键字

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

  1. 所有的标识符都应该以字母(A-Z/a-z),美元符号($),或者下划线(_)开始
  2. 首字符之后可以是字母(A-Z/a-z),美元符号($),或者下划线(_)或任意数字组合
  3. 不能使用关键字作为变量名或方法名
  4. 标识符是大小写敏感的
  5. 合法的标识符:age、$salary、_value、__1_value
  6. 非法标识符:12ad、-salary、#abc

数据类型

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

(安全性)

Java的数据类型分为基本类型(primitive type)和引用类型(reference type)

基本类型

数值类型
整数类型 占字节 范围
byte 1 -128 - 127
short 2 -32768 - 32767
int 4 -2147483648 - 2147483647
long 8
浮点类型 占字节
float 4
double 8
字符类型(字母、数字、符号、字) 占字节
char 2
boolean类型
boolean 占位 范围
boolean 1 false/true
/**
 * @Louis Restart
 * @date 2022/6/1 0001 0:49
 */
public class Demo02 {
    public static void main(String[] args) {
        //八大基本数据类型

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

        //浮点数
        float num5 = 50.1F;// float=类型要在数字后面加个F
        double num6 = 3.14159265358979323842643;

        //字符
        char name = 'L';
        //字符串 String不是关键字
        //String name1 = "Louis";

        //布尔值
        boolean flag = true;


    }
}

引用数据类型

  • 接口
  • 数组

什么是字节

位(bit)是计算机内部数据存储的最小单位,11001100是一个八位的二进制数

字节(byte)是计算机中数据处理的基本单位,习惯上用大写B来表示,

1B(byte,字节)= 8bit(位)

1B = 8b

1024B = 1KB

1024KB = 1M

1024M = 1G

1024G = 1T

类型转换

Java是强类型语言,所以要进行运算的时候,需要用到类型转换

低---------------------------------------------------------->高

byte,short,char->int->long->float->double

强制类型转换

高-->低

public class Demo04 {
    public static void main(String[] args) {
        int i = 128;
        byte b =  (byte)i;//内存溢出

        //强制转换  (类型)变量名
        System.out.println(i);
        System.out.println(b);
    }
}

自动类型转换

低-->高

不同类型数值之间计算的时候会自动转换成大的类型

public class Demo04 {
    public static void main(String[] args) {
        int i = 128;
        double b =  i;//内存溢出

        //强制转换  (类型)变量名
        System.out.println(i);
        System.out.println(b);
    }
}

注意点

  1. 不能对布尔值进行转换
  2. 不能把对象类型转换为不相干的类型
  3. 在把高容量转换成低容量的时候,强制转换
  4. 转换的时候可能存在内存溢出,或者精度问题

变量

变量是可以变化的量

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

Java中变量是程序中最基本的储存单元,要素包括变量名,变量类型和作用域

  1. 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
  2. 变量名必须是合法的标识符
  3. 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

变量的作用域

  • 类变量(static,从属于某个类)
  • 实例变量(从属于对象)
  • 局部变量(必须声明和初始化值)
public class Variable{

	static int allClicks = 0; //类变量 static
    String str = "hello world";//实例变量 从属于对象;如果不初始化,这个类型的默认值 0 0.0;布尔值:默认是false 0  除了基本数据类型,其余都是null;
    
    public void method(){
        int i = 0;//局部变量 必须声明和初始化值
    }

}

变量的命名规范

  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写驼峰原则:monthSalary,除了第一个单词外,后面的单词首字母大写
  • 局部变量:首字母小写驼峰原则
  • 常量:大写字母和下划线 MAX_VALUE
  • 类名:首字母大写和驼峰原则 Man,GoodBoy
  • 方法名:首字母小写驼峰原则:run(),runRun()

常量

常量(Constant):初始化(initialize)后不再改变的值

且不允许被改变

final 修饰符,不存在先后顺序

定义方式

final 常量名 = 值
final double PI = 3.14;

运算符

算数运算符:+,-,*,/,%,++,--

public class Demo04 {
    public static void main(String[] args) {
        //++ -- 自增 自减 一元运算符
        int a = 3;
        int b = a++;//a先赋值给b,再自增
        int c = ++a;//a先自增,再赋值给c
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
    }
}

赋值运算符 =

关系运算符>,<,>=,<=,==,!=,instanceof

逻辑运算符 &&,||,! 与或非

短路与&&

int c = 5;
        boolean d = ((c < 4)&&(c++<4));//c++没执行
        System.out.println(d);
        System.out.println(c);

短路或||

位运算符&,|,^,>>,<<,>>>(了解)

左移乘 右移除

位运算效率高

 /*
        *A = 0011 1100
        *B = 0000 1101
        *
        *A&B = 0000 1100
        *A|B = 0011 1101
        *A^B = 0011 0001
        *~B = 1111 0010

        * 2 * 8 = 2 * 2 * 2 * 2
        * <<
        * >>
        *  2 * 8 = 2 << 3
        * 0000 0000 0
        * 0000 0001 1
        * 0000 0010 2
        * 0000 0011 3
        * 0000 0100 4
        * 0000 1000 8
        * 0001 0000 16
        */

条件运算符: ?:

//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 = 89;
        String grade = score < 60 ?"不及格":"及格";
        
        System.out.println(grade);
    }
}

扩展赋值运算符 +=,-=,*=,/=

a += b;// a = a + b
a -= b;//a = a - b

字符串链接符 + , String

int a = 10;
int b = 20;
System.out.println("" + a+b);//1020
System.out.println(a+b + "");//30

运算优先级

()的最大,从左到右

包机制

一般利用公司域名倒置作为包名;com.louis666.www

为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包 使用"import"语句可完成此功能

import package1[.package2...].(classname|*);
package com.louis666.operator;//必须置顶
import com.louis666.base.Demo01;
import com.louis666.*;//导入这个包下所有的类

Java Doc

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

Posted on 2022-06-12 05:25  Louis的小栈  阅读(19)  评论(0编辑  收藏  举报