【JavaSE】之基础语法


前言

本文为【JavaSE】基础语法相关介绍,Java全栈学习路线可参考:【Java全栈学习路线】最全的Java学习路线及知识清单,Java自学方向指引,内含最全Java全栈学习技术清单~

一、注释

//单行注释
/* 
多行
注释 
*/
/**
* @Description    文档注释
* @author 某某    
*/

二、标识符和关键字

1.标识符定义

标识符定义:

  • 包名、类名、方法名、参数名、变量名等,这些符号被称为标识符
  • 标识符可以由字母、数字、下划线(_)和美元符号($)组成
  • 标识符不能以数字开头,不能是java中的关键字
  • 首字符之后可以是字母(A­Z 或者 a­z),美元符($)、下划线(_)或数字的任何字符
  • 标识符对大小写敏感
    正确的标识符:
  • Username、username123、user_name、_userName、$username

不正确的标识符:

  • 123username、class、87.2、Hello World、num*123

2.Java标识符规则

  • 包名所有字母必须小写。例如:cn.itcast.test 类名和接口名每个单词的首字母都要大写。例如:ArrayList
  • 常量名所有的字母都大写,单词之间用下划线连接。例如:DAY_OF_MONTH
  • 变量名和方法名的第一个单词首字母小写,从第二个单词开始,每个单词首字母大写。例如:lineName、getLingNumber
  • 在程序中,应该尽量使用有意义的英文单词来定义标识符,使得程序便于阅读。例如:使用userName表示用户名,password表示密码。

3.Java关键字

  • 下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称
  • 所有的关键字都是小写
  • 程序中的标识符不能以关键字命名
  • const和goto是保留字关键字,虽然在java中还没有任何意义,但在程序中不能用来作为自定义的标识符
  • true、false和null不属于关键字,它们是一个单独标识类型,不能直接使用
类别关键字说明
访问控制private私有的
访问控制protected受保护的
访问控制public公共的
类、方法和变量修饰符abstract声明抽象
类、方法和变量修饰符class
类、方法和变量修饰符extends扩充,继承
类、方法和变量修饰符final最终值,不可改变的
类、方法和变量修饰符implements实现(接口)
类、方法和变量修饰符interface接口
类、方法和变量修饰符native本地,原生方法(非 Java 实现)
类、方法和变量修饰符new新,创建
类、方法和变量修饰符static静态
类、方法和变量修饰符strictfp严格,精准
类、方法和变量修饰符synchronized线程,同步
类、方法和变量修饰符transient短暂
类、方法和变量修饰符volatile易失
程序控制语句break跳出循环
程序控制语句case定义一个值以供 switch 选择
程序控制语句continue继续
程序控制语句default默认
程序控制语句do运行
程序控制语句else否则
程序控制语句for循环
程序控制语句if如果
程序控制语句instanceof实例
程序控制语句return返回
程序控制语句switch根据值选择执行
程序控制语句while循环
错误处理assert断言表达式是否为真
错误处理catch捕捉异常
错误处理finally有没有异常都执行
错误处理throw抛出一个异常对象
错误处理throws声明一个异常可能被抛出
错误处理try捕获异常
包相关import引入
包相关package
基本类型boolean布尔型
基本类型byte字节型
基本类型char字符型
基本类型double双精度浮点
基本类型float单精度浮点
基本类型int整型
基本类型long长整型
基本类型short短整型
变量引用super父类,超类
变量引用this本类
变量引用void无返回值
保留关键字goto是关键字,但不能使用
保留关键字const是关键字,但不能使用
保留关键字null

三、数据类型

1.Java基本数据类型

  • 位(bit):计算机内部数据储存的最小单位,1100 0111是一个八位二进制数
  • 字节(byte):是计算机中处理数据的基本单位,习惯上用大写B来表示
  • 1B(byte,字节) = 8bit(位)
  • 字符:是指计算机中使用的字母、数字、字和符号
1bit表示1, 1Byte = 8bit, 1024B = 1KB, 1024KB = 1MB,1024MB = 1GB
基本类型占据空间大小取值范围默认值
boolean不确定true/false0
byte一个字节-128——1270
short2个字节-215-215-10
int4个字节-231-231-10
long8个字节-263-263-10L
float4个字节-2128-21280.0F
double8个字节-21024-210240.0D
char2个字节\u0000

2.Java引用数据类型

类、接口、数组 String Byte Integer ……

四、类型转换

//---------强制转换
//强制转换  高-->低
int i = 128;    
byte b = (byte)i;  // -128  内存溢出
//---------自动转换
//自动转换  低-->高
int i2 = 128;
double d = i2; 
//精度丢失
System.out.println((int)23.7); //输出23
System.out.println((int)-45.89f); //输出-45
char c = 'a';
int d = c+1;
System.out.println(d);        // 输出 98
System.out.println((char)d);  // 输出b

转换中需要注意的问题:

  • 不能对布尔类型进行转换
  • 不能把对象类型转换为不相干的类型
  • 再把高容量转换到低容量时后,强制转换
  • 转换的时候可能存在内存溢出,或精度问题!
    JDK7新特性,数字之间可以用下划线间隔:
   int money = 10_0000_0000;  // int范围  -2^31 ~ 2^31-1
   System.out.println(money);    // 输出1000000000

五、变量、常量、作用域

1.变量

Java语言支持的变量类型有:

  • 类变量:独立于方法之外的变量,用 static 修饰。
  • 实例变量:独立于方法之外的变量,不过没有 static 修饰。
  • 局部变量:类的方法中的变量。
public class Variable{
  //类变量 static 
  static int allClicks=0;    // 类变量
   //实例变量:从属于对象,如果不自行初始化 数值默认值为0 0.0,
   //boolean 默认为 false
   //除了基本类型,其他默认都为null
  String str="hello world";  // 实例变量
  public void method(){
       //必须声明和初始化值
      int i =0;  // 局部变量
  }
}

2.变量的命名规范

  • 所有变量、方法名、类名:见名知意!
  • 类成员变量:首字母小写和驼峰原则:userName,除了第一个单词以外,后面的单词首字母都大写。lastName
  • 局部变量:首字母小写和驼峰命名
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则,GoodMan
  • 方法名:首字母小写和驼峰原则:run() getUser()

3.常量

  • 常量:初始化后不能在改变的值!不会变动的值。
  • 所谓常量可以理解为一种特殊的变量,它的值设定以后,在程序运行期间不允许被改变。
final 常量名 =final double PI = 3.14;
常量常用大写字母来表示。

六、基本运算符

1.java语言支持的运算符总览

  • 算数运算符:+,-,*,/,%,++,—
  • 赋值运算符:=
  • 关系运算符:>,<,>=,<=,==,!=,instanceof
  • 逻辑运算符:&&,||,!
  • 条件运算符: ?
  • 扩展赋值运算符:+=,-=,/=,*=
        long a = 1153132165465155L;
        int b = 1234;
        short c = 10;
        byte d = 1;
        //相加会自动到大类型
        System.out.println(a+b+c+d); //类型 long
        System.out.println(b+c+d);  //类型 int
        System.out.println(c+d);    //类型 short

2.自增,自减运算符

        //++ -- 自增,自减  一元运算符
        int a = 3;
        int b = a++; //执行代码后,先给b赋值,再自增
        //a++ a = a+1;
        int c = ++a; //执行完这行代码前,先自增,再给c赋值
        System.out.println(a);  //输出5
        System.out.println(b);  //输出3
        System.out.println(c);  //输出5

3.逻辑运算符

//与(and) 或(or) 非(取反)
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));

4.位运算符

/*
            A = 0011 1100
            B = 0000 1101
            ------------------
            A&B = 0000 1100  与运算
            A|B = 0011 1101  或运算
            A^B = 0011 0001  异或,相同为0,不同为1
            ~B  = 1111 0010  取反
            2*8 = 16    ---> 2*2*2*2
            <<  左移运算  *2
            >>  右移运算  /2
            0000 0000    0
            0000 0001    1
            0000 0010    2
            0000 0100    4
            0000 1000    8
            0001 0000    16
         */
        System.out.println(2<<3);  //输出16

5.运算的特殊情况

int a =10;
int b =20;
a+=b;   // a = a+b;
System.out.println(a); //输出 30
a-=b;   // a = a-b;
System.out.println(a); //输出 10
System.out.println("===============");
//对于String字符串类型的,当进行+时,会自动把所有类型转换成String类型
//字符串在前面,后面的都转换成了String类型所以输出1020
System.out.println(""+a+b); //输出1020
//这时先进行 a+b的操作算成30 然后 30再转换成String类型,所以输出30
System.out.println(a+b+""); //输出30

6.三元运算符

// x ? y :z
//如果x==true,则结果为y,否则结果为z
int score = 80;
String type = score>60?"及格":"不及格";
System.out.println(type); // 及格

七、包机制

  • 为了更好的组织,JAVA提供了包机制,用于区别类名的命名空间。
  • 包语句的语法格式为: package com..
  • package必须发放在最上面(第一行)
  • 一般利用公司域名倒置作为包名
  • 为了能够使用某一个包的成员,我们需要再java程序中明确导入改包。

使用import语句可完成此功能;如:

import java.util.Date;

八、JAVADoc生成文档

javadoc命令是用来生成java文档的

  1. 首先编辑java代码
package basic;
/**
 1. @author Console__
 2. @version 1.0.0
 3. @ClassName Doc.java
 4. @Description 测试JavaDoc
 5. @createTime 2021年02月24日 16:32:00
 */
public class Doc {
    String name;
    /**
     * @author Console__
     * @param name
     * @return 返回某某
     */
    public String test(String name){
        name = "某某";
        return name;
    }
}
  1. 进入到程序的文件夹,在路径栏中直接输出cmd
    在这里插入图片描述

  2. 在命令行中输入 以下内容,注意Doc.java换成你的java文件名,然后回车
    在这里插入图片描述

  3. 到源代码目录中会发现自动生成了很多html页面

在这里插入图片描述

  1. 点击index.html进入文档页面

在这里插入图片描述

后记

Java全栈学习路线可参考:【Java全栈学习路线】最全的Java学习路线及知识清单,Java自学方向指引,内含最全Java全栈学习技术清单~

  • 22
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小新要变强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值