# Java基础语法

Java基础语法

1.注释:

单行注释:// “//”后的内容会被注释掉

多行注释:/* 注释

​ 注释**/ “/* * */"中间的内容会被注释

文本注释:/** 注释

​ *注释

​ *注释

​ */ 每一行可以添加一些功能

2.标识符:

关键字:系统定义的,用于声明或者具有特殊功能的。取名时避开这些。

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

注意点:

  • 所有的标识符都应该以字母(A-Z或a-z),美元符($)、或者下划线(_)开始
  • 首字母之后可以是字母(A-Z或a-z),美元符($)、下划线(_)或者数字的任何字符组合
  • 不能使用关键字作为变量名或者方法名
  • 标识符是大小写敏感的
  • 可以使用中文命名,但是不推荐使用

3.数据类型:

强类型语言:变量必须严格规定,所有变量都必须先定义后使用。

弱类型语言:变量可以不严格符合固定。

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

基本数据类型:数值类型(整数类型:byte、short、int、long;浮点类型:float、double;字符类型char)和boolean类型(占1位,只有true和false两个)。其中byte占一个字节,short占两个字节,int占四个字节,long占八个字节,float占四个字节,double占八个字节,char占两个字节。

引用数据类型:类、接口、数组。

整数扩展:

进制:二进制0b(0、1) 八进制0(0-7) 十进制(0-9) 十六进制0x(0-9、A-F)

浮点数扩展:

float是有限的,存在舍入误差,他只能接近但是不等于。最好完全避免使用浮点数进行比较,涉及精确计算的使用类BigDecimal。

字符扩展:

所有的字符本质还是数字,可以使用int强制转换进行输出对应的Unicode编码。

//System.out.println((int)c1);

Unicode有一张表,每个字符都在其中拥有对应的数字编号。0-65536

char c2='\u0061'

System.out.println(c2);//a

即可输出对应编号的字符a。

判断两个字符、数字是否相等,实质上比的是地址空间。

转义字符:

\t:制表符 \n:换行

布尔值扩展:

布尔值常用来作为判断条件,if(flag){}

类型转换:

Java是强类型语言,进行运算的时候,常需要类型转换。

例:int i=128;

byte b=(byte)i;//在前面加(),里面写强制转换的类型。(类型)变量名

但此时byte超出范围了,写代码的时候要规避这种情况。

//强制转换 高--->低

//自动转换 低--->高

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

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

注意点:

1.不能对布尔值进行转换

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

3.在把高容量类型转换到低容量内存的时候,需要强制转换

4.转换的时候可能会出现内存溢出或者精度问题的情况,需要多留意

操作比较大的数字的时候,都需要注意溢出问题。(可以使用”_“隔开数字,便于观看,不影响输出)

int money=10_0000_0000;
int years=20;
int total1=money*years;//溢出
long total2=money*years;//默认是int,在转换成long之前已经存在问题了
long total3=money*((long)years);//先把一个数字转换为long,此时右边才会以long运算。

变量:

变量就是可以变化的量,每个变量都必须声明其类型。

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

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

//数据类型 变量名=值;可以用逗号隔开去声明多个同类型变量。但是不推荐使用,难以观看管理。

注意:

1.每个变量都有类型,可以是基础类型也可以是引用类型。

2.变量名必须是合法的标识符。

3.变量声明是一条完整的语句,每一个声明都必须以分号结束。英文的分号。

public class Demo {
    static int allClicks=0; //类变量
    String str="Hello World!"; //实例变量

    public void method(){
        int i=0; //局部变量
    }
}
public class Demo {
    //类变量 static
    static int allClicks=20; //类变量
    //实例变量:从属于对象,如果不初始化,数值类型的默认值是0 0.0
    //布尔值:默认false
    //除了基本类型,其他的默认值都是null
    String name;
    int year;
    String str="Hello World!"; //实例变量
    //main方法
    public static void main(String[] args) {
        //局部变量:必须声明和初始化
        int i=10; //局部变量
        System.out.println(i);
        //实例变量的使用
        //变量类型 变量名字 = new Demo();
        Demo obj=new Demo();
        System.out.println(obj.name);
        System.out.println(obj.year);
        System.out.println(obj.str);
        //类变量 static
        System.out.println(allClicks);
    }
    //其他方法
    public void method(){
    }
}

常量:

Constant,初始化后不能再改变值。

常量可以理解为特殊的变量,值被设定后,在程序运行过程中不允许改变。

final 常量名=值;

常量名一般使用大写字符。

public class Demo1 {
    //修饰符不区分前后顺序
    static final double PI=3.1415926;
    final static double PI2=3.1415926;
    public static void main(String[] args) {
        System.out.println(PI);
        System.out.println(PI2);
    }
}

变量的命名规范:

  • 所有的变量、方法、类名最好命名可以知道它的含义,不要使用拼音,用英文单词。
  • 类成员变量:首字母小写和驼峰原则:monthSalary
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类目:首字母大写和驼峰原则:Man,GoodMan
  • 方法名:首字母小写和驼峰原则:run(),runRun()

运算符:

  • 算术运算符:+,,*,/,%,++,--
  • 赋值运算符:=
  • 关系运算符:>,<,>=,<=,==,!=,instanceof
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,~,>>,<<
  • 条件运算符: ? :
  • 扩展赋值运算符:+=,-=,*=,/=

运算时若有一个数字为long(double),则结果均为long(double),负责全为int。

a++// 先赋值,再自增

++a//先自增,再赋值

//逻辑运算符
public class Demo3 {
    public static void main(String[] args) {
        //与&& 或|| 非!
        boolean a=true;
        boolean b=false;
        System.out.println("a&&b:"+(a&&b));
        //逻辑与运算:两个都为真才为真
        System.out.println("a||b:"+(a||b));
        //逻辑或运算:有一个为真即为真
        System.out.println("!(a&&b):"+(!(a&&b)));
        //逻辑非运算:真即为假,假即为真
        //短路运算
        int c=5;
        boolean d=(c<4)&&(++c<4);
        //&&之前的为假,直接返回运算结果了,不在计算&&之后的
        System.out.println(c);//所以c没有自增
        System.out.println(d);
    }
}
public class Demo4 {
    public static void main(String[] args) {
        int a=10;
        int b=20;
        //字符串连接 + ,String
        System.out.println(a+b);//30
        System.out.println(""+a+b);//1020 字符串在运算前是连接
        System.out.println(a+b+"");//30 字符串在后边是运算
        //三元运算符
        //x?y:z 如果x为true,输出y,否则输出z
        int c=10;
        System.out.println(a>b ? c:b);
    }
}

包机制:

包是为了更好的组织类,用于区别类名的命名空间。包就是文件夹。

语法格式:

package pkg1[. pkg2[. pkg3...]];

Java程序导入包时,使用"import"语句。

import package pkg1[. pkg2...].(classname|*);

posted @ 2025-12-22 19:33  the_xxztwy  阅读(1)  评论(0)    收藏  举报