Java SE基本语法

Java基础语法

注释

写注释是一个很好的习惯 , 注释会被编译器忽略 , 并不会被执行

三种注释

  1. 单行注释

    // .....

  2. 多行注释

    /* ..... */

  3. 文档注释

    /** ..... */

标识符

  • 关键字 : public , class , static , void.....

String不是关键字,是类

**注意事项 : **

  1. 标识符以字母,美元符号,下划线开头
  2. 首字母后可以是任何数字,美元符号,下划线,字母的组合
  3. 标识符不能是关键字
  4. 标识符大小写是敏感的
  5. 可以以中文命名,但是不建议

Java数据类型

Java是强类型语言,所有变量都必须定义后才能使用

Java的数据类型分为两大类

  • 基本数据类型
数值 非数值
整型--byte:1B boolean类型
short:2B 只有true和false两个值
int:4B--最常用 占一位
long:8B--L
浮点数--float:4B--F
double:8B
字符--char:2B⭐--单个字符
long n1=123_456_789L;
float n2=1.23F;
  • 引用数据类型

    1. 数组
    2. 接口

数据类型扩展

整数扩展

1. 二进制--0B

2. 八进制--0

3. 十进制

4. 十六进制--0X
int i=10;
int i2=010;   //八进制
int i3=0X10;
int i4=0B1010101;

浮点数扩展

浮点数都是近似的,最好并避免浮点数比较

float f=0.1f;
double d=1/10.0;
System.out.println(f==d);  //false

字符拓展

char c='a';
char c2='汤';
char c3='姆';
System.out.println((int)c);  //97
System.out.println((int)c2);  //27748
System.out.println((int)c3);	//22982

空格 : 32 , 0 : 48 , A : 65 , a : 97

所有的字符本质还是数字

Java使用Unicode

范围 : \u0000---\uFFFF

字符串扩展

String s1=new String("Hello");
String s2=new String("Hello");
String s3="Hello";
String s4="Hello";

System.out.println(s1==s2);  //false
System.out.println(s3==s4);  //true

布尔扩展

if(flag){}
if(flag==true){}

​ 两者是等价的语法,但推荐使用第一种

类型转换

Java是强类型语言 , 所以有时候要进行类型转换

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

  1. 不能对布尔值进行转换
  2. 转换的时候可能会存在精度问题或内存溢出

自动类型转换

低--->高

double d=0.5f;
float f=1000000000L;
int i='a';

强制类型转换

//(类型)变量名
System.out.println((int)45.999);  //45
int a=128;
System.out.println((byte)a);    //内存溢出

变量,常量,作用域

变量

数据类型 变量名=值

保证程序可读性

常量

程序中不允许改变的值,一般都为大写

    //修饰符不存在先后顺序
    static final double PI=3.14;

变量作用域

  • 类变量
  • 实例变量
  • 局部变量
    //类变量 : static,不能放方法中
    static double wage=500;
    //实例变量 : 从属于对象
    String name;    //不初始化,会带一个默认值
    int age;    // 0  0.0  \u0000  false  null
    public static void main(String[] args) {
        //局部变量 : 必须声明和初始化
        int i=10;
        System.out.println(i);
        System.out.println(wage);
    }

命名规范

所有取的名字 : 见名知意

  • 类成员变量 : 除了第一个单词外,后面的单词首字母大写 monthSalary , 驼峰原则
  • 局部变量 : 首字母小写 , 驼峰原则
  • 常量 : 大写字母和下划线 : MAX_VALUE
  • 类名 : 首字母大写和驼峰规则 GoodMan , Student
  • 方法名 : 首字母小写和驼峰规则 run() , runMan()

运算符

算术运算符⭐

+,-,*,/,%(模),++,--

IDEA : 快捷键 ctrl+d复制当前的行

        //1
        int a=10;
        int b=20;
        System.out.println((double)a/b); //整数相除
        //2
        short c=10;
        byte d=8;
        long l=10101L;
        double x=1.0D;
        System.out.println(c+d); //int
        System.out.println(a+b+c+l); //long
        System.out.println(x+l);  //double
        //3
        System.out.println(a%b); //===>10/20=0....10
        System.out.println(-1%10); //-1 , 只有除数为负数时结果才为负数
        System.out.println(1%-10); //1

++和-- ,单独使用都一样

赋值运算符⭐

=

关系运算符⭐

<,>,==,<=,>=,!=,instanceof

返回结果 : true或false

逻辑运算符⭐

短路--&&,||,!

位运算符

&,|,^,~,>>,<<,>>>

        /*
        * A=0011 1100
        * B=0000 1101
        * */
        //A&B   有0出0
        //A|B   有1出1
        //A^B   异或:相同为0,不同为1
        //~B    取反
        /*
        效率极高
        << 左移   *2
        >> 右移   /2
        */
        System.out.println(2<<3);//2* 2*2*2
        System.out.println(2<<1);//2* 2
        System.out.println(2<<2);//2* 2*2
        System.out.println(2>>1);//2/ 2
        System.out.println(16>>2);//16/2/2

条件运算符

? :

偷懒用

扩展赋值运算符

+=,-=,*=,/=,%=

扩展

        int a=10;
        int b=20;

        System.out.println(a+b+"");//30
        System.out.println(""+a+b);//1020

优先级

数学

多用括号() , 养成习惯

包机制

包的本质就是文件夹

package必须在最上面

规范 : 包名一般用公司域名倒置

com.baidu.www

JavaDoc

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

参数 :

  • @author作者名
  • @version版本号
  • @since指明需要最早使用的jdk版本
  • @param参数名
  • @return返回值情况
  • @throws异常抛出情况

参考 : https://www.kuangstudy.com/course

posted @ 2021-11-12 11:06  YYYStudy  阅读(69)  评论(0)    收藏  举报