Cha_02 Java语言基础(一)

Cha_02 Java语言基础(一)

本文是本人观看学习了B站视频《[Java零基础教程视频(适合Java 0基础,Java初学入门)](Java零基础教程视频(适合Java 0基础,Java初学入门)_哔哩哔哩_bilibili)》第P23 - P31内容所作的笔记。未完全按照视频中内容摘录知识点和代码,稍作修改。就记记,主要是方便自己日后复习吧。基础知识还是比较重要的哈~

目录

一、标识符

关于Java语言中的标识符

1、什么是标识符?

​ 程序员可以自定义命名的单词为标识符。
​ 标识符可以标识:类名、方法名、变量名、接口名、常量名……

2、标识符的命名规则?(命名规则是编程语言的语言,不符合规则,编译器会报错)

  • 一个合法的标识符只能由数字(09)、字母(AZ、a~z)、下划线(_)和美元符号($)组成,不能含有其他特殊符号(空格也是一个符号)。
  • 不能以数字开头
  • 严格区分大小写
  • 关键字(如:public、main等)不能做标识符
  • 理论上无长度限制

3、标识符的命名规范?(命名规范不属于Java语言语法,不遵守规范,编译器不会报错)

  • 命名时最好能见名知意

    public class UserService{
    	public void login(String name,String password){
    		
    	}
    }
    
  • 遵守驼峰命名法
    如:OuterClass、outerObject、StaticNestedClass、nestedObject等。

  • 类名、接口名:首字母大写,后面每个单词首字母大写;

  • 变量名、方法名:首字母小写,后面每个单词首字母大写;

  • 常量名:全部大写,若为多个单词组成,单词之间用下划线( _ )分隔。

    //IdentifierTest01 是一个自定义的类名,可修改
    public class IdentifierTest01 
    {
    	//mian是程序的入口,一般不可以修改,args是变量名
    	public static void main(String[] args){
    		
    	}
    }
    

二、关键字

Java语言中的关键字包括

1. 数据类型

​ byte char short int float long double boolean class interface enum

2. 常量值

​ true false null

3. 流程控制

if else do while for switch case default break continue return try catch finally assert

4. 修饰符

​ public protected private final void static abstract strictfp transient sychronized volatile native

5. 动作

​ package import throw throws extends implements this super instanceof new

6. 保留字

​ goto const(在Java中无意义,在汇编中有意义)

Java中的关键字全部为小写


三、字面值

​ 字面值,即字面意义上的数据值。在Java中称作字面值,在C语言中称为常量。

  • 字面值(const)如:10、3.14、"const"、'a'、true;

  • 字面值就是数据;

  • 字面值和标识符、关键字为 Java 源程序的组成部分;

  • 数据在现实世界中是分门别类的,所以数据在计算机世界中也有区分不同数据类型,如:

    • 整数型字面值:10、-10;
    • 浮点型字面值:3.14;
    • 布尔型字面值:true、false;
    • 字符串型字面值:"const"、"字面值";
    • 字符型字面值:'c'、'值';
  • 注意:

    • 字符串半角的双引号包含起来,如:"This is a string."

    • 字符是用半角的单引号包含起来,且只能是单个字符,如:'This is a char.'

      public class ConstTest01{
      	public static void main(String[] args){
      		
      		//字符串型的字面值要用半角双引号( " " )包括起来
      		System.out.println("This is a string.");
      		
      		//字符型的字面值要用半角单引号( ' ' )包括起来,且只能是一个字符,否子编译器会报错
      		System.out.println('c');
      		
      		//整数型、浮点型和布尔型字面值可以直接写
      		System.out.println(111);
      		System.out.println(3.14);
      		System.out.println(true);
      	}
      }
      

四、变量

数据在计算机中会占用一定内存,每次输出一个数据,都会自动产生一个临时内存空间用来存储这些临时数据。为了持续访问这某一块内存空间,我们需要声明一个变量来创建固定的内存空间。

1、变量的概念?

  • 变量本质上是一块内存空间,包括 数据类型名称字面值(数据);
  • 变量是内存中存储数据的最基本单元。
  • 变量中存储的具体的 数据 应与变量的 数据类型 一致,若不一致,编译会报错。

2、数据类型的作用?

  • 不同的数据有不同的数据类型,计算机会根据不同的数据类型分配不同大小的内存空间,用以存储数据。

3、变量的声明与赋值

(1)声明 / 定义变量的语法格式

数据类型 变量名;
数据类型 变量名1,变量名2,变量名3;

​ 如:String name,;int age,height;

​ 变量名应符合标识符命名规则

(2)变量赋值的语法格式

变量名 = 字面值;

​ 如:age=21;name="LHH"

​ 要求:字面值的数据类型必须和变量的数据类型一致。
​ 其中,= 是一个运算符,称为 赋值运算符。赋值运算符先运行等号左边的表达式,再将计算结果赋值给左边的变量。

(3)声明与赋值可以同时进行

​ 如:String name = "LHH";int age = 21;

(4)变量的值可变换
  int i=10;
  System.out.println(i);//10

  int i=100;
  System.out.println(i);//100

  int i++;
  System.out.println(i);//101

4、变量的访问

(1)变量访问的方式
  • 获取变量中保存的具体数据(get),如:System.out.println(i);
  • 修改变量中保存的具体数据(set),如:i++;
(2)Java中的变量必须先声明并赋值后才可访问

​ 变量在声明时,程序并未为其开辟一个内存空间,所以变量 i 并未初始化,不可直接访问。

(3)Java程序中,在一个方法里,严格按照至上而下的顺序执行代码

​ 若直接执行

  public class VarTest01{
     public static void main(String[] args){
            
      //声明一个int型的变量,i
      int i;
            
      //直接输出i,编译会报错,因为变量i未进行初始化
      //System.out.println(i);
            
      //给变量i赋值,i在此处完成初始化,内存空间开辟
      i=10;
      System.out.println(i); //10
            
      //变量的值可以改变
      i++;
      System.out.println(11);//10
            
      //可以同时声明多个变量
      int height,weight,age=21;
            
      //编译报错,因为未对变量height初始化
      //System.out.println(height);
            
      //编译报错,因为未对变量height初始化
      //System.out.println(weight);
            
      System.out.println(age);//21
    }
  }

5、变量的作用域

作用域的概念
  • 变量的作用域,是用以描述变量在程序中的有效范围。

  • 变量只在其作用域内可被访问

  • 在同一个作用域中,变量名不可重名;在不同作用域中可重名

    public class VarTest02{
        //声明了一个int型的类(静态)变量age为21
        // * 用static修饰的变量成为静态变量或类变量,类变量可在类中访问
        static int age=21;
        
    	public static void main(String[] args){
    		//变量name的作用域为main方法体内,只能在main()中被访问
            String name="LHH";
            System.out.println(name);//LHH
            
            name="FYY";
            System.out.println(name);//FYY
            
            //同一作用域中,变量名不可重复命名
            //System.out.println(name);
            
            //for循环中,变量的作用域
            for(int i=0;i<10;i++){
                //在该for循环中,变量i的作用域为for循环开始直至结束
            }
            //无法访问for循环中的变量i
            //System.out.println(i);
            
            int j;//j的作用域为main()方法体内
            for(j=0;j<10;j++){
                
            }
            System.out.println(j);//输出10
            
    	}
        
        public static void doSomething(){
            
            //编译错误,无法访问main()中的name
            //System.out.println(name);
            
            System.out.println(age);
        }
    }
    

6、变量的分类

根据变量声明的位置分
  • 局部变量
    在方法体中声明的变量,称为局部变量。

  • 成员变量
    在方法体外(类体之内)声明的变量,称为成员变量。

    public class VarTest03{
        
        //成员变量,作用域仅在 VarTest03 类体中
        Stirng name = "LHH";
        
        //主方法,程序的入口
        public static void main(String[] args){
            
            //局部变量,作用域仅在 main() 方法体中
            Stirng birthday = "09.17";
            
            //输出主方法中变量birthday的值
            System.out.println(birthday);//09.17
        }
        
        //成员变量,作用域仅在 VarTest03 类体中
        String birthday="八月二十";
        
        //除声明变量之外,类体中不能直接编写其他Java语句
        //System.out.println(birthday);
        
        public static void doSomething(){
            
            //局部变量,作用域仅在 doSomething() 方法体中
            String birthday="9月17日";
            
            //输出doSomething()方法体总中变量birthday的值
            System.out.println(birthday);//9月17日
            
        }
        
    }
    
上一篇:0词频统计简单 LeetCode383. 赎金信


下一篇:[APIO2012]派遣