Java基础语法

目录

一、注释

二、标识符

关键字

标识符注意点

三、数据类型

数据类型扩展

1.整数扩展

2.字符扩展

3.转义字符

4.布尔值扩展

四、类型转换

五、变量和常量

1.变量

2.变量作用域

3.常量

4.变量的命名规范

六、基本运算符

1.算术运算符

2.赋值运算符

3.关系运算符

4.逻辑运算符

5.条件运算符

6.instanceOf 运算符:

7.Java运算符的优先级

七、包机制

八、JavaDoc生成文档


一、注释

注释不会被程序执行,书写注释是一个非常重要的习惯

单行注释:// 文本

eg : //123456789

多行注释:/* 文本 */ 

eg :  /* 123456789

            123456789

            123456789 */

二、标识符

关键字

Java 语言目前定义了 51 个关键字,这些关键字不能作为变量名、类名和方法名来使用。以下对这些关键字进行了分类。

  • 数据类型:boolean、int、long、short、byte、float、double、char、class、interface。

  • 流程控制:if、else、do、while、for、switch、case、default、break、continue、return、try、catch、finally。

  • 修饰符:public、protected、private、final、void、static、strict、abstract、transient、synchronized、volatile、native。

  • 动作:package、import、throw、throws、extends、implements、this、supper、instanceof、new。

  • 保留字:true、false、null、goto、const。

注意:由于 Java 区分大小写,因此 public 是关键字,而 Public 则不是关键字。但是为了程序的清晰及可读性,要尽量避免使用关键字的其他形式来命名。

标识符注意点

  • 所有的标识符都应该以字母(A-Z或者a-z),美元符($),或者下划线(_)开始

  • 首字符之后可以是字母(A-Z或者a-z),美元符($),或者下划线(_)或数字的任何数字组合

  • 不能使用关键字作为变量名或者方法名

  • 标识符是大小写敏感的

  • 不建议使用中文拼音去命名

三、数据类型

Java要求变量的使用要严格符合规定,所有变量必须要先定义才能使用

Java中主要有八种基本的数据类型:

数据类型扩展

1.整数扩展

二进制:0b          八进制:0          十六进制:0x

示例:

int i1=10;
int i2=010;
int i3=0x10;
System.out.println(i1);//十进制10
System.out.println(i2);//八进制8
System.out.println(i3);//十六进制16

2.字符扩展

char a='袁';
char b='a';
//所有的字符本质还是数字
System.out.println(a);
System.out.println((int)a);//强制转换
System.out.println(b);
System.out.println((int)b);//强制转换
//Unicode编码   最多可以表示65536个字符
char c='\u0063';// \u是转义字符,将Unicode编码0063转义为a
System.out.println(c);//输出的结果是a

3.转义字符

转义字符意义ASCII码值(十进制)
\a响铃(BEL)007
\b退格(BS) ,将当前位置移到前一列008
\f换页(FF),将当前位置移到下页开头012
\n换行(LF) ,将当前位置移到下一行开头010
\r回车(CR) ,将当前位置移到本行开头013
\t水平制表(HT) (跳到下一个TAB位置)009
\v垂直制表(VT)011
\代表一个反斜线字符'''092
'代表一个单引号(撇号)字符039
"代表一个双引号字符034
\0空字符(NULL)000
\ddd1到3位八进制数所代表的任意字符三位八进制
\xhh1到2位十六进制所代表的任意字符二位十六进制

4.布尔值扩展

boolean flag=true;
if(flag==true){}
if(flag){}//两者等价
//代码越精简越好,代码要精简易读

四、类型转换

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

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

强制类型转换:高-->低,格式:(类型)变量名

隐式转换:低-->高,可直接转换,不需要另外操作

示例:

int i=100;
char a=(char)i;//int->char,高->低,需要强制类型转换
System.out.println(a);
double b=i;//int->double,低->高,不需要强制类型转换
System.out.println(b);
/*
注意点:
1.不能对布尔值进行强制类型转换
2.不能把对象类型转换为不相干的类型
3.把高容量转换为低容量,需要强制类型转换
4.转换的时候可能存在内存溢出或者精度问题
*/
System.out.println((int)23.7);//输出的结果为23,丢失了一定的精度

五、变量和常量

1.变量

变量就是可以变化的量。

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

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

2.变量作用域

  • 类变量

  • 实例变量

  • 局部变量

public class Yyf{
    String name;
    int age;//实例变量:从属于对象,如果不初始化值,默认值为0(整数)或者0.0(小数)
            //布尔值默认是false,字符类型默认是null
            //除了基本类型,其它的默认值都是null
    static int a=100;//类变量 static
   
    public static void main(String[] args){
        int i=10;//局部变量:必须声明和初始化值
        System.out.println(i);
        Yyf yyf=new Yyf();
        System.out.println(yyf.name);
        System.out.println(yyf.age);//实例变量的使用
        System.out.println(a);//类变量的使用,可以直接输出
    }
}

3.常量

常量:初始化之后不会再改变的值。

final 常量名=值;

final double PI=3.14;

常量名一般使用大写字母

public class Yyf{
    static final int a=100;
    final static int b=100;//修饰符,不存在先后顺序
    public static void main(String[] args){
        System.out.println(a);
        System.out.println(b);
}

4.变量的命名规范

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

  • 类成员变量:首字母小写和和驼峰原则,例如:moneySalary

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

  • 常量:大写字母和下划线,例如:MAX__VALUE

  • 类名:首字母大写和驼峰原则:Man,GoodMan

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

六、基本运算符

Java中的运算符可以分为以下几种:

  • 算术运算符

  • 赋值运算符

  • 关系运算符

  • 逻辑运算符

  • 条件运算符

1.算术运算符

假设,整数变量A的值为10,变量B的值为20:

操作符描述例子
+加法 - 相加运算符两侧的值A + B等于30
-减法 - 左操作数减去右操作数A – B等于-10
*乘法 - 相乘操作符两侧的值A * B等于200
/除法 - 左操作数除以右操作数B / A等于2
取模 - 右操作数除左操作数的余数B%A等于0
+ +自增 - 操作数的值增加1B + +等于21
-自减 - 操作数的值减少1B - -等于19

注意:其中,++ 和 -- 既可以出现在操作数的左边,也可以出现在右边,但结果是不同的

a++:先操作,再自增

++a:先自增,再操作

示例:

public class Demo01 {
    public static void main(String[] args) {
        int a = 3;
        int b = (++a) + (a++) + (a*10);
        System.out.println(a);//输出结果为a=5
        System.out.println(b);//输出结果为b=58
    }
}

自增和自减运算符只能用于操作变量,不能直接用于操作数值或常量!例如 5++ 、 8-- 等写法都是错误的。

2.赋值运算符

下面是Java语言支持的赋值运算符:

操作符描述例子
=简单的赋值运算符,将右操作数的值赋给左侧操作数

C = A + B

A + B得到的值赋值给C

+=加和赋值操作符,左操作数和右操作数相加赋值给左操作数C + = A等价于C = C + A
-=减和赋值操作符,左操作数和右操作数相减赋值给左操作数C - = A等价于C = C - A
*=乘和赋值操作符,左操作数和右操作数相乘赋值给左操作数C * = A等价于C = C * A
/=除和赋值操作符,左操作数和右操作数相除赋值给左操作数C / = A等价于C = C / A
%=取模和赋值操作符,左操作数和右操作数取模后赋值给左操作数C%= A等价于C = C%A
<<=左移位赋值运算符C << = 2等价于C = C << 2
>>=右移位赋值运算符C >> = 2等价于C = C >> 2
&=按位与赋值运算符C&= 2等价于C = C&2
^=按位异或赋值操作符C ^ = 2等价于C = C ^ 2
|=按位或赋值操作符C | = 2等价于C = C | 2

注意:扩展赋值运算符,内部自带强制类型转换

public class Demo02 {
    public static void main(String[] args) {
        short s = 1;
        s += 1;//s = (short)(s + 1);
        System.out.println(s);//s = 2;
        //s = s + 1是错误的,s为short类型,s+1会向范围大的类型转换为int

        double a = 12.3;
        int b = 2;
        b += a;//b =(int)(b + a);
        System.out.println(b);//b = 14;
    }
}

3.关系运算符

下面是Java支持的关系运算符,假设,整数变量A的值为10,变量B的值为20,则:

操作符描述例子
==检查如果两个操作数的值是否相等,如果相等则条件为真(A == B)非真
!=检查如果两个操作数的值是否相等,如果值不相等则条件为真(A = B)为真
>检查左操作数的值是否大于右操作数的值,如果是那么条件为真(A> B)非真
<检查左操作数的值是否小于右操作数的值,如果是那么条件为真(A <B)为真
>=检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真(A> = B)非真
<=检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真(A <= B)为真

注意:

1、 > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型。

2、 == 、 != 两边的操作数既可以是数值类型,也可以是引用类型。

4.逻辑运算符

操作符描述说明
&逻辑与并且,遇 false 则 false
|逻辑或或者,遇 true 则 true
!逻辑非取反
^逻辑异或相同为 false,不同为 true

除此以外,Java中还存在短路逻辑运算符

示例:

public class Demo03 {
    public static void main(String[] args) {
        int x = 3;
        int y = 4;
        boolean result1 = ++x > 5 & y-- < 4;
        System.out.println(x);
        System.out.println(y);//不具有短路效果,&符号右边仍要继续执行
        System.out.println(result1);
        //此时 x = 4,y = 3

        boolean result2 = ++x > 5 && y-- < 4;
        System.out.println(x);
        System.out.println(y);//具有短路效果,&&符号右边不需要继续执行,y的值仍为3
        System.out.println(result2);
    }
}

运行结果为:

4
3
false
5
3
false

5.条件运算符

条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要作用是决定哪个值应该赋值给变量。

格式:判断条件 ?值1 :值2

执行流程:首先计算判断条件的值,如果值为true,值1就是运算结果,如果值为false,值2就是运算结果

示例:

public class Yyf {
   public static void main(String args[]){
       int a , b;   
       a = 10;    
       b = (a == 1) ? 20: 30;    
       System.out.println( "Value of b is : " + b );
       b = (a == 10) ? 20: 30;    
       System.out.println( "Value of b is : " + b );
   }
}

运行结果为:

Value of b is : 30
Value of b is : 20

6.instanceOf 运算符:

该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。instanceof运算符使用格式如下:

( Object reference variable ) instanceOf (class/interface type)

如果运算符左侧变量所指的对象,是操作符右侧类或接口(class/interface)的一个对象,那么结果为真。 下面是一个例子:

String name = = 'James';boolean result = name instanceOf String; // 由于name是Strine类型,所以返回真

如果被比较的对象兼容于右侧类型,该运算符仍然返回true。 看下面的例子:

class Vehicle {}
public class Car extends Vehicle {  
public static void main(String args[]){     
         Vehicle a = new Car();     
         boolean result =  a instanceof Car;     
         System.out.println( result);  
     }
}

结果为true

7.Java运算符的优先级

下表中具有最高优先级的运算符在的表的最上面,最低优先级的在表的底部:

类别操作符关联性
后缀() [] . (点操作符)左到右
一元+ + - !?从右到左
乘性* /%左到右
加性+ -左到右
移位>> >>> <<左到右
关系>> = << =左到右
相等== !=左到右
按位与左到右
按位异或^左到右
按位或|左到右
逻辑与&&左到右
逻辑或| |左到右
条件?:从右到左
赋值= + = - = * = / =%= >> = << =&= ^ = | =从右到左
逗号左到右

七、包机制

为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。

包语句的语法格式为:package pkg1.[.pkg2[.pkg3...]];

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

为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包,使用"import"语句可以完成此功能:import package1[.package2...].(classname|*);

八、JavaDoc生成文档

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

参数信息:

  • @author 作者名

  • @version 版本号

  • @since 指明需要使用的最早的jdk版本

  • @param 参数名

  • @return 返回值情况

  • @throws 异常抛出情况

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值