day03_java第一个程序丶注释丶关键字丶标识符丶常量丶变量

java第一个程序

搭建好开发环境之后,我们来开发第一个java程序HelloWorld。

步骤一:编写

  • 选择最简单的编辑器:记事本。 敲入代码 class Test{ } 将文件保存成Test.java,这个 文件是存放java代码的文件, 称为源文件。
class Test {

}

注意:

  • 一定要打开文件类型的扩展名,保证以.java结尾。

​​​​​步骤二:编译

  • 有了java源文件,通过编译器将其编译成JVM可以识别的字节码文件。
  • 在该源文件目录下,通过javac编译工具对Test.java文件进行编译。
  • 如果程序没有错误,没有任何提示,但在当前目录下会出现一个Test.class文 件,该文件称为字节码文件,也是可以执行的java的程序。

步骤三:运行

  • 有了可执行的java程序(Test.class字节码文件)
  • 通过运行工具java.exe对字节码文件进行执行。
  • 出现提示:缺少一个名称为main的方法。

  • 因为一个程序的执行需要一个起始点或者入口,所以在Test类中的加入public static void main(String[] args){ }
  • 对修改后的Test.java源文件需要重新编译,生成新的class文件后,再进行执行。
  • 发现没有编译失败,但也没有任何效果,因为并没有告诉JVM要帮我们做什么事情,也就是没有可以具体执行的语句。
  • 想要和JVM来个互动,只要在main方法中加入一句System.out.println(“Hello World");因为程 序进行改动,所以再重新编译,运行即可。

入门程序说明 

编译和运行是两回事

  • 编译:是指将我们编写的Java源文件翻译成JVM认识的class文件,在这个过程中, javac 编译器会检查我们所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功。
  • 运行:是指将 class文件 交给JVM去运行,此时JVM就会去执行我们编写的程序了。 

关于main方法

  • main方法:称为主方法。写法是固定格式不可以更改。main方法是程序的入口点或起始点,无论我们编写多少程序,JVM在运行的时候,都会从main方法这里开始执行。 

小结第一个程序

  • Java源文件以“java”为扩展名。源文件的基本组成部分是类(class),如本例中的Test类。
  • Java应用程序的执行入口是main()方法。它有固定的书写格式: public static void main(String[] args) {...}
  • Java语言严格区分大小写。
  • Java方法由一条条语句构成,每个语句以“;”结束。
  • 大括号都是成对出现的,缺一不可。
  • 一个源文件中最多只能有一个public类。其它类的个数不限,如果源文件包含 一个public类,则文件名必须按该类名命名。
  • 编写:我们将编写的java代码保存在以".java"结尾的源文件中
  • 编译:使用javac.exe命令编译我们的java源文件。格式:javac 源文件名.java
  • 运行:使用java.exe命令解释运行我们的字节码文件。 格式:java 类名

注 释(comment)

  • 注释:就是对代码的解释和说明。其目的是让人们能够更加轻松地了解代码。为代码添加注释,是十分必须要的,它不影响程序的编译和运行。 

Java中的注释类型:

  • 单行注释
  • 多行注释
  • 文档注释 (java特有)

注释的作用:

  • 提高了代码的阅读性;调试程序的重要方法。
  • 注释是一个程序员必须要具有的良好编程习惯。
  • 将自己的思想通过注释先整理出来,再用代码去体现​​​​​​​

单行注释

格式: //注释文字

//单行注释:如下小括号里的语句表示输出到控制台的内容
System.out.println("Hello World!");

多行注释

格式: /* 注释文字 */

   /*
    多行注释:
    如下的main方法是程序的入口!main的格式是固定的!
    */
    public static void main(String[] args){
        System.out.println("Hello World!");
    }

注意:

  • 对于单行和多行注释,被注释的文字,不会被JVMjava虚拟机)解释执行。
  • 多行注释里面不允许有多行注释嵌套。

文档注释(Java特有)

格式:/**

            注释内容

           */

/**
 * 文档注释
 *
 * @author shkstart
 * @version v1.0
 * 这是我的第一个java程序!非常的开森!
 */
public class Test {
    /*
    多行注释:
    如下的main方法是程序的入口!main的格式是固定的!
    */
    public static void main(String[] args) {
        //输出语句
        System.out.println("Hello World!");
    }
}

文档注释:内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形 式体现的该程序的说明文档。

操作方式

                
                 

关键字

我们可以可以通过官方地址: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html查看java有哪些关键字。

  • 定义:Java语言赋予了特殊含义,用做专门用途的字符串(单词)
  • 特点:关键字中所有字母都为小写

       ​​​​​​​

     

保留字(reserved word)

  • Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使 用。自己命名标识符时要避免使用这些保留字 goto 、const。

​​​​​​​标识符(Identifier) ​​​​​​​

  • 定义:Java 对各种变量方法等要素命名时使用的字符序列称为标识符 技巧:凡是自己可以起名字的地方都叫标识符​​​​​​​

定义合法标识符规则:

  • 26个英文字母大小写,0-9 _$ 组成
  • 数字不可以开头。
  • 不可以使用关键字和保留字,但能包含关键字和保留字。
  • Java中严格区分大小写,长度无限制。
  • 标识符不能包含空格。

​​​​​​Java中的名称命名规范 

  • 包名:多单词组成时所有字母都小写:xxxyyyzzz
  • 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
  • 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个 单词首字母大写:xxxYyyZzz
  • 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
  • 注意1:在起名字时,为了提高阅读性,要尽量有意义,“见名知意”。
  • 注意2java采用unicode字符集,因此标识符也可以使用汉字声明,但是强烈不建议使用。

​​​​​​​总结:

  • 标识符的命名规则:--> 如果不遵守如下的规则,编译不通过!需要大家严格遵守
  • Java中的名称命名规范: --->如果不遵守如下的规范,编译可以通过!建议大家遵守

变量​​​​​​​

概念:
  • 内存中的一个存储区域
  • 该区域的数据可以在同一类型范围内不断变化
  • 变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值

​​​​​​​作用

  • 用于在内存中保存数据

​​​​​​​定义变量方式一

声明变量和赋值分开进行

  • 声明的变量 语法:数据类型 变量名称;
  • 变量的赋值 语法:变量名称 = 值 ;

​​​​​​​​​​​​​​举例:

        //变量的声明
        int age;
        //变量的赋值
        age = 15;

​​​​​​​定义变量方式二

声明和赋值变量 同时进行

  • 声明和赋值变量 语法: 数据类型 变量名 = 初始化值;

​​​​​​​​​​​​​​​​​​​​​举例:

        //声明变量并且赋值
        String name = "在家爱漫画";

使用变量注意:

  • Java中每个变量必须先声明,后使用
  • 使用变量名来访问这块区域的数据
  • 变量的作用域:其定义所在的一对{ }
  • 变量只有在其作用域内才有效
  • 同一个作用域内,不能定义重名的变量
  • 变量右侧的数据值不能超过左侧类型的范围
  • 可以通过一个语句来创建多个变量,但是一般情况不推荐这么写。

​​​​​​​​​​​​​​举例:

public class VariableNotice {
    public static void main(String[] args) {
        //  System.out.println(age); 错误 Java中每个变量必须先声明,后使用
        
        int age = 18;
        // 使用变量名来访问这块区域的数据
        System.out.println(age);//18

        {
            int i = 18;
            //  int i = 15; 错误。同一个作用域内,不能定义重名的变量
            System.out.println(i);//18
        }
        
        // System.out.println(i); 错误,变量的作用域:其定义所在的一对{ }内,

        int i = 20;//变量只有在其作用域内才有效
        System.out.println(i);//20

        // 同时创建了三个全都是int类型的变量,不推荐这么写。
        int a, b, c;
        // 各自分别赋值
        a = 10;
        b = 20;
        c = 30;
        System.out.println(a); // 10
        System.out.println(b); // 20
        System.out.println(c); // 30

        // 同时创建三个int变量,并且同时各自赋值,不推荐这么写。
        int x = 100, y = 200, z = 300;
        System.out.println(x); // 100
        System.out.println(y); // 200
        System.out.println(z); // 300

    }
}

数据类型 

Java的数据类型分为两大类:

  • 基本数据类型:包括 整数 、 浮点数 、 字符 、 布尔 。
  • 引用数据类型:包括 类 、 数组 、 接口等等 。 

基本数据类型

四类八种基本数据类型如下图所示: 

                        

注意事项:

  • 字符串不是基本类型,而是引用类型。
  • 浮点型可能只是一个近似值,并非精确的值。
  • 数据范围与字节数不一定相关,例如float数据范围比long更加广泛,但是float是4字节,long是8字节。
  • 浮点数当中默认类型是double。如果一定要使用float类型,需要加上一个后缀F。如果是整数,默认为int类型,如果一定要使用long类型,需要加上一个后缀L。推荐使用大写字母后缀。

举例:

public class DataTypeTest {
    public static void main(String[] args) {
        //1. 整型:byte(1字节=8bit) \ short(2字节) \ int(4字节) \ long(8字节)
        //① byte范围:-128 ~ 127
        byte b1 = 12;
        byte b2 = -128;
        //b2 = 128; 错误 左侧数据超过右侧数据类型的最大范围,编译不通过
        System.out.println(b1);//12
        System.out.println(b2);//-128
        // ② 声明long型变量,必须以"l"或"L"结尾

        short s = 128;
        // ③ 通常,定义整型变量时,使用int型。
        int i = 1234;
        // ② 声明long型变量,必须以"l"或"L"结尾
        long l = 3414234324L;
        System.out.println(l);//3414234324

        //2. 浮点型:float(4字节) \ double(8字节)浮点型,表示带小数点的数值,float表示数值的范围比long还大
        //通常,定义浮点型变量时,使用double型。
        double d = 123.3;
        System.out.println(d + 1);//124.3
        //定义float类型变量时,变量要以"f"或"F"结尾
        float f = 12.3F;
        System.out.println(f);//12.3

        //3. 字符型:char (1字符=2字节)
        // 定义char型变量,通常使用一对'',内部只能写一个字符
        char c1 = 'a';
        //c1 = 'AB'; 编译不通过,不能表示2个字符
        System.out.println(c1);//a
        //字符可以是数字,中文,等等
        char c2 = '1';
        char c3 = '中';
        char c4 = 'ス';
        System.out.println(c2);//1
        System.out.println(c3);//中
        System.out.println(c4);//ス

        //② 表示方式:1.声明一个字符 2.转义字符 3.直接使用 Unicode 值来表示字符型常量
        char c5 = '\n';//换行符
        c5 = '\t';//制表符
        System.out.println("hello" + c5 + "world");//hello	world

        char c6 = '\u0044';
        System.out.println(c6);//D

        //4.布尔型:boolean
        //① 只能取两个值之一:true 、 false
        boolean bb1 = true;
        System.out.println(bb1);//true

        boolean isMarried = true;
        //② 常常在条件判断、循环结构中使用
        if (isMarried) {
            System.out.println("你就不能参加\"单身\"party了!\\n很遗憾");//你就不能参加"单身"party了!\n很遗憾
        } else {
            System.out.println("你可以多谈谈女朋友!");
        }

    }
}


整数类型:byte、short、int、long

  • Java各整数类型有固定的表数范围和字段长度,不受具体OS的影响,以保证java程序的可移植性。
  • java的整型常量默认为 int 型,声明long型常量须后加‘l’或‘L’
  • java程序中变量通常声明为int型,除非不足以表示较大的数,才使用long
  • bit: 计算机中的最小存储单位。byte:计算机中基本存储单元。 ​​​​​​​ 

                               ​​​​​​​

浮点类型:float、double

与整数类型类似,Java 浮点类型也有固定的表数范围和字段长度,不受具体操作 系统的影响。

浮点型常量有两种表示形式:

  • 十进制数形式:如:5.12 512.0f .512 (必须有小数点)
  • 科学计数法形式:如:5.12e2 512E2 100E-2
  • float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求。
  • double:双精度,精度是float的两倍。通常采用此类型。
  • Java 的浮点型常量默认为double声明float型常量,须后加‘f’或‘F’

                        ​​​​​​​

字符类型:char

  • char 型数据用来表示通常意义上字符”(2字节)
  • Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字母,一个汉字,或其他书面语的一个字符。

字符型变量的三种表现形式:

  • 字符常量是用单引号(‘ ’)括起来的单个字符。例如:char c1 = 'a'; char c2 = '中'; char c3 = '9';
  • Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。 例如:char c3 = ‘\n’; // '\n'表示换行符
  • 直接使用 Unicode 值来表示字符型常量:‘\uXXXX’。其中,XXXX代表 一个十六进制整数。如:\u000a 表示 \n

char类型是可以进行运算的。因为它都对应有Unicode码。

布尔类型:boolean

boolean 类型用来判断逻辑条件,一般用于程序流程控制:
  • if条件控制语句;
  • while循环控制语句;
  • do-while循环控制语句;
  • for循环控制语句;

boolean类型数据只允许取值truefalse,无null

  • 不可以使用0或非 0 的整数替代falsetrue,这点和C语言不同。
  • Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达所操作的 boolean值,在编译之后都使用java虚拟机中的int数据类型来代替:true1表示,false0表示。

​​​​​​​变量的分类-按数据类型

对于每一种数据都定义了明确的具体数据类型(强类型语言),在内存中分 配了不同大小的内存空间。

                  

变量的分类-按声明的位置的不同

  • 在方法体外,类体内声明的变量称为成员变量
  • 在方法体内部声明的变量称为局部变量

                    ​​​​​​​

 
发布了20 篇原创文章 · 获赞 7 · 访问量 6627

猜你喜欢

转载自blog.csdn.net/weixin_44462792/article/details/104981995
今日推荐