[JAVA学习笔记] 基础语法

编译并运行Java程序

首先我们要了解Java程序的运行机制与流程:

运行期环境代表着Java平台,开发人员编写Java代码(.java文件),然后将之编译成字节码(.class文件),JVM才能识别并运行它,JVM针对每个操作系统开发其对应的解释器,所以只要其操作系统有对应版本的JVM,那么这份Java编译后的代码就能够运行起来,这就是Java能一次编译,到处运行的原因。

JVM运行字节码:字节码被装入内存,一旦字节码进入虚拟机,它就会被解释器解释执行,或者是被即时代码发生器有选择的转换成机器码执行。

利用Java API编写的应用程序(application) 和小程序(Java applet) 可以在任何Java平台上运行而无需考虑底层平台, 就是因为有Java虚拟机(JVM)屏蔽了与具体操作系统平台相关的信息,实现了程序与操作系统的分离,从而实现了Java 的平台无关性,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。

我们开始编写第一个Java程序:

class HelloWorld{
    public static void main(String[] args){
        System.out.println("Hello World!");
    }
}

然后保存代码为HelloWorld.java所有Java源文件必须以.java作为拓展名
之后我们来.java源文件编译为.class字节码文件

javac HelloWorld.java

此命令会检查Java源代码的语法,一旦出现错误将会报错,如果语法没有问题则会在同目录下生成.class字节码文件,该文件为二进制文件。
下面我们运行编译完成的Java程序:

java HelloWorld

注意:运行Java程序时不包含class拓展名,HelloWorld为程序的类名,同时class字节码文件默认名称为程序主类名,编译生成后不可修改,但对于java源代码文件没有要求

基本类型

基本类型 说明
byte 字节整型(8位)
short 短整型(16位)
int 整型(32位)
long 长整型(64位)
float 单精度浮点型(32位)
double 双精度浮点型(64位)
char Unciode字符
boolean 布尔值

变量

Java是一种强类型语言,因此变量定义时必须有一个声明的类型,同时Java对变量名大小写敏感,这点类似于Python。
下面我们声明并命名一个名为age的整型变量:int age = 14;
我们在声明和赋值变量时遵循的语法为:类型 变量名 = 值;
同时在变量命名时,应遵循小驼峰命名规则,即第一个单词首字母小写,第二个及以后的每个单词首字母都大写,例如myAge、myFirstName
在Java10中增加了局部变量类型推断,我们可以使用var来代替类型,并允许编译器推断变量类型,例如:

var name = "Ye";

常量

Java常量应使用final声明,遵循语法为final 类型 常量名 = 值,并且常量名称应全部大写,单词间用_分隔,例如:

final int AGE = 18;

注释

/*
多行注释语句
*/
//单行注释语句

if语句

1. if语句

if(booleanExpression){
    statment(s);
}

2. if-else语句

if(booleanExpression){
    statment(s);
}else{
    statment(s);
}

3. if-else if语句

if(booleanExpression){
    statment(s);
}else if{
    statment(s);
}else{
    statment(s);
}

while语句

while(booleanExpression){
    statment(s);
}

do-while语句

do{
    statment(s); //只运行一次
}while(booleanExpression){
    statment(s);
}

for语句

for(init; booleanExpression; update){
    statment(s);
}

updateinit是可选的,例如:

for(; k<3; ){
    statment(s);
    k++;
}

break语句

int i = 1;
while(true){
    System.out.println(i);
    i++;
    if(i > 10){
        break;
    }
}

break语句后可跟一个标签用于把控制权转移到标签标识的代码开头,例如:

start: //标签
for(int i = 0; i < 10; i++){
    for(int k = 1; k < 5; k++){
        if(k == 3){
            break start; //终止外层循环
        }
    }
}

continue语句

用法与break语句相同,但是不会终止循环,只会跳过一次循环,其余循环仍会继续。

switch语句

switch(Expression){
case value_1:
        语句(1);
        break;
case value_2:
        语句(2);
        break;
case value_3:
        语句(3);
        break;
default:
        语句;
}
posted @ 2021-09-05 03:18  Ye'sBlog  阅读(99)  评论(0编辑  收藏  举报