[JavaSE]第二章 基本语法

2.1 Java 基本语法

2.1.1 注释

Java 中的注释有三种类型,具体如下:

  • 单行注释

    int age = 18;//这是一个单行注释
    
  • 多行注释

    /*
     * 这是一个多行注释
     */
    int age = 18;
    
  • 文档注释

    /**
     * 这是文档注释
     *
     */
    

    生成文档注释命令

    • javadoc -d 目录名 -author -version Java文件名.java -encoding UTF-8 -charset UTF-8

2.1.2 标识符

  • 标识符
    • Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符
    • 技巧:凡是自己可以起名字的地方都叫标识符
  • 定义合法标识符规则
    • 由 26 个英文字母大小写,0-9,_ 或 $ 组成
    • 数字不可以开头
    • 不可以使用关键字和保留字,但能包含
    • Java 中严格区分大小写,长度无限制
    • 标识符不能包含空格
  • 命名规范
    • 包名:多单词组成时所有的字母都小写 xxxyyyyzzz
    • 类名、接口名:多单词组成时,所有单词的首字母大写 XxxYyyZzz
    • 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词的首字母大写 xxxYyyZzz
    • 常量名:所有字母都大写。多单词时每个单词都用下划线连接 XXX_YYY_ZZZ
    • 命名的时候尽量见名知意

2.1.3 关键字

  • 关键字的定义和特点:
    • 定义:被 Java 语言赋予了特殊含义,用做专门用途的字符串
    • 特点:关键字中所有的字母都为小写
用于定义关键数据类型的关键字
class interface enum byte
short int float long
double char boolean void
用于定义流程控制的关键字
if else switch case
default while do for
break continue return
用于定义访问权限修饰符的关键字
private protected public
用于定义类,函数,变量修饰符的关键字
abstract final static synchronized
用于定义类与类之间关系的关键字
extends implements
用于定义建立实例及引用实例,判断实例的关键字
new this super instanceof
用于异常处理的关键字
try catch finally throw throws
用于包的关键字
package import
其他修饰符关键字
native strictfp transient volatile assert
用于定义数据类型值的字面值
true false null
  • 保留字
    • 定义:现有 Java 版本尚未使用
    • goto、const

2.1.4 常量

  • 常量就是在程序中固定不变的值,是不能改变的数据。

2.2 变量

2.2.1 变量的定义

  • 变量的概念
    • 内存中的一个存储区域
    • 该区域的数据可以在同一类型范围内不断变化
    • 变量是程序中最基本的储存单元。包含变量类型、变量名和存储的值
  • 变量的作用
    • 用于在内存中保存数据
  • 使用变量注意
    • Java 中每个变量必须先声明,后使用
    • 使用变量名来访问这块区域的数据
    • 变量的作用域:其定义所在的一对 {} 内
    • 变量只有在其作用域内才有效
    • 同一作用域内,不能定义重名的变量
  • 在方法体外,类体内声明的变量称为成员变量
  • 在方法体内部声明的变量称为局部变量

2.2.2 变量的数据类型

数据类型

类型 占用存储空间 表数范围
byte 1 字节 = 8bit 位 -128 ~ 127
short 2 字节 -215 ~ 215 -1
int 4 字节 -231 ~ 231 -1 (约21亿)
long 8 字节 -263 ~ 263 -1
单精度 float 4 字节 -3.403E38 ~ 3.403E38
双精度 double 8 字节 -1.798E308 ~ 1.798E308
  • Java 的整型常量默认为 int 型,声明 long 型常量须后加 l 或者 L

  • Java 程序中变量通常声明为 int 型,除非不足以表示较大的数才使用 long

  • Java 的浮点型常量默认为 double 型**,**声明 float 型常量,须后加 f 或者 F

  • 转义字符

    转义字符 说明
    \b 退格符
    \n 换行符
    \r 回车符
    \t 制表符
    \" 双引号
    \' 单引号
    \\ 反斜线
  • boolean 类型数据只允许取值 true 和 false,无 null

2.2.3 变量的类型转换

在程序中,当把一种数据类型的值赋给另一种数据类型的变量时,需要进行数据类型转换。根据转换方式的不同,数据类型转换可分为两种:自动类型转换和强制类型转换。

  • 自动类型转换

    • 当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型
    • byte \ short \ char --> int --> long --> float --> double
    • 特别的:当 byte、char、short 三种类型的变量做运算时,结果为 int 型
  • 强制类型转换

    • 需要使用强转符:()

    • 强制类型转换可能导致精度损失

    • 例:

      byte b1 = 10;
      int i1 = 126;
      byte b2 = (byte) (b1 + i1);
      
      char c1 = 'a';
      short s2 = 10;
      short s3 = (short) (s2 + c1);
      
  • 注意

    • 整型常量,默认为 int 型
    • 浮点型常量,默认为 double 型

2.2.4 变量的作用域

public static void main(String[] args) {
   
    int x = 12; //变量 x
    {
   
        int y = 20;
    }
    y = x; //将 x 的值赋给 y,但 y 出了它的作用域
}

2.3 运算符

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等

分类:

  • 算数运算符(Arithmetic operator)
  • 赋值运算符(Assignment Operators)
  • 比较运算符(Comparison operator)
  • 逻辑运算符(Logical operator)
  • 位运算符(Bitwise Operators)
  • 三元运算符(Ternary operator)

2.3.1 算数运算符

运算符 运算 范例 结果
+ 正号 +3 3
- 负号 b = 4; -b -4
+ 5+5 10
- 5 - 4 1
* 5 * 2 10
/ 5 / 2 2
% 取模(取余) 5 / 2 1
++ 自增(前):先相加后赋值
自增(后):先赋值后相加
a = 2; b = ++a;
a = 2; b = a++;
a = 3; b = 3;
a = 3; b = 2;
自减(前):先相减后赋值
自减(后):先赋值后相减
a = 2; b = --a;
a = 2; b = a–;
a = 1; b = 1;
a = 1; b = 2;
+ 字符串连接 “Hell” + “o” “Hello”
public class ArithmeticTest {
   
    public static void main(String[] args) {
   

        int num1 = 14;
        int num2 = 6;
        int num3 = 5;
        int num4 = -10;
        int num5 = -7;

        //除号:/
        int result1 = num1 / num2;
        System.out.println(result1);  //2

        double result2 = (double) num1 / num2;
        System.out.println(result2);  //2.3333333333333335

        //去余:%
        int result3 = num1 % num3;
        System.out.println(result3);  //4

        double result4 = num4 % num3;
        System.out.println(result4);  //0.0

        double result5 = num4 % num5;
        System.out.println(result5);  //-3.0


        //后 ++:先赋值后相加
        int a1 = 10;
        int a2 = a1++;
        System.out.println("a1 = " + a1 + "\t" + "a2 = " + a2);

        //前 ++:先相加后赋值
        int a3 = 10;
        int a4 = ++a3;
        System.out.println("a3 = " + a3 + "\t" + "a4 = " + a4);
    }
}

/*
练习,随意一个整数,打印出它的个位数,十位数,百位数
 */
public class ArithmeticExercise {
   

    public static void main(String[] args) {
   
        int number = 157;

        int singleDigit = number % 10;
        System.out.println("个位数是:" + singleDigit);
        int tenDigits = number / 10 % 10;
        System.out.println("十位数是:" + tenDigits);
        int hundreds = number / 100;
        System.out.println("百位数是:" + hundreds);
    }
}

2.3.2 赋值运算符

public class AssignmentTest {
   

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值