java之基础语法

本来不想写这个的,浪费时间。谁让我有强迫症!!!本文参考自 https://www.runoob.com/java/java-basic-syntax.html  话不多说,直接开整。

一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。

  • 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
  • :类是一个模板,它描述一类对象的行为和状态。
  • 方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
  • 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。

1.第一个java程序

1 public class HelloWorld {
2     /* 第一个Java程序
3      * 它将输出字符串 Hello World
4      */
5     public static void main(String[] args) {
6         System.out.println("Hello World"); // 输出 Hello World
7     }
8 }

   程序结构介绍

 2.如何保存、编译以及运行这个程序

  • 打开代码编辑器,把上面的代码添加进去;
  • 把文件名保存为:HelloWorld.java;
  • 打开 cmd 命令窗口,进入目标文件所在的位置,假设是 C:
  • 在命令行窗口输入 javac HelloWorld.java 按下回车键编译代码。如果代码没有错误,cmd 命令提示符会进入下一行(假设环境变量都设置好了)。
  • 再键输入 java HelloWorld 按下回车键就可以运行程序了

  你将会在窗口看到 Hello World

3.基本语法

  编写 Java 程序时,应注意以下几点:

  • 大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。
  • 类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass
  • 方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
  • 源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为 .java。(如果文件名和类名不相同则会导致编译错误)。
  • 主方法入口:所有的 Java 程序由 public static void main(String[] args) 方法开始执行。

(1)、Java 对象和类

  • 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
  • :类是一个模板,它描述一类对象的行为和状态,如下类的结构

  一个类可以包含以下类型变量:

  • 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
  • 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
  • 类变量:类变量也声明在类中,方法体之外,但必须声明为 static 类型。

  一个类可以拥有多个方法,在上面的例子中:eat()、run()、sleep() 和 name() 都是 Dog 类的方法。

(2)、构造方法

  每个类都有构造方法。如果没有显式地为类定义构造方法,Java 编译器将会为该类提供一个默认构造方法。在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。下面是一个构造方法示例:

1 public class Puppy{
2     public Puppy(){
3     }
4  
5     public Puppy(String name){
6         // 这个构造器仅有一个参数:name
7     }
8 }

(3)、创建对象

  对象是根据类创建的。在Java中,使用关键字 new 来创建一个新的对象。创建对象需要以下三步:

  • 声明:声明一个对象,包括对象名称和对象类型。
  • 实例化:使用关键字 new 来创建一个对象。
  • 初始化:使用 new 创建对象时,会调用构造方法初始化对象。

  下面是一个创建对象的例子:

 1 public class Puppy{
 2    public Puppy(String name){
 3       //这个构造器仅有一个参数:name
 4       System.out.println("小狗的名字是 : " + name ); 
 5    }
 6    public static void main(String[] args){
 7       // 下面的语句将创建一个Puppy对象
 8       Puppy myPuppy = new Puppy( "tommy" );
 9    }
10 }

(3)、访问对象中的变量和方法

 1 public class Puppy{
 2    int puppyAge;
 3    public Puppy(String name){
 4       // 这个构造器仅有一个参数:name
 5       System.out.println("小狗的名字是 : " + name ); 
 6    }
 7  
 8    public void setAge( int age ){
 9        puppyAge = age;
10    }
11  
12    public int getAge( ){
13        System.out.println("小狗的年龄为 : " + puppyAge ); 
14        return puppyAge;
15    }
16  
17    public static void main(String[] args){
18       /* 创建对象 */
19       Puppy myPuppy = new Puppy( "tommy" );
20       /* 通过方法来设定age */
21       myPuppy.setAge( 2 );
22       /* 调用另一个方法获取age */
23       myPuppy.getAge( );
24       /*你也可以像下面这样访问成员变量 */
25       System.out.println("变量值 : " + myPuppy.puppyAge ); 
26    }
27 }
编译并运行上面的程序,产生如下结果:

小狗的名字是 : tommy
小狗的年龄为 : 2
变量值 : 2

(4)、源文件(.java文件)声明规则

  • 一个源文件中只能有一个 public 类
  • 一个源文件可以有多个非 public 类
  • 源文件的名称应该和 public 类的类名保持一致。例如:源文件中 public 类的类名是 Employee,那么源文件应该命名为Employee.java。
  • 如果一个类定义在某个包中,那么 package 语句应该在源文件的首行。
  • 如果源文件包含 import 语句,那么应该放在 package 语句和类定义之间。如果没有 package 语句,那么 import 语句应该在源文件中最前面。
  • import 语句和 package 语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。

(5)、java包

包主要用来对类和接口进行分类。当开发 Java 程序时,可能编写成百上千的类,因此很有必要对类和接口进行分类。

(6)、import语句

  在 Java 中,如果给出一个完整的限定名,包括包名、类名,那么 Java 编译器就可以很容易地定位到源代码或者类。import 语句就是用来提供一个合理的路径,使得编译器可以找到某个类。

如下

4.java循环结构与条件语句

(1)、循环结构

  • while 循环
  • do…while 循环
  • for 循环
  • 增强型for循环
//while循环,如果不满足条件,则不能进入循环。
//只要布尔表达式为 true,循环就会一直执行下去。
while( 布尔表达式 ){
    //循环内容
}

//do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次。
//当不满足条件时,do…while 循环至少会执行一次。
do{
       //代码语句
}while(布尔表达式);

//for循环执行的次数是在执行前就确定的。
for(初始化; 布尔表达式; 更新){
    //代码语句
}

//增强型 for 循环,主要用于数组或集合,特点是效率必普通for循环快
for(声明语句 : 表达式){
   //代码句子
}

(2)、条件语句

  • if…else 语句
  • switch case 语句
 1 //if...else语句可以省略else,直接使用if语句。也可以使用if...else语句。也可以使if...else if...else 语句
 2 if(布尔表达式){
 3     //如果布尔表达式为true将执行的语句
 4 }else {
 5     //如果布尔表达式为false将执行的语句
 6 }
 7 
 8 //switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
 9 //如果 case 语句块中没有 break 语句时,匹配成功后,从当前 case 开始,后续所有 case 的值都会输出。
10 switch(expression){
11     case value :
12        //语句
13        break; //可选
14     case value :
15        //语句
16        break; //可选
17     //你可以有任意数量的case语句
18     default : //可选
19        //语句
20 }    

  switch case 语句有如下规则:

  • switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。

  • switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。

  • case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。

  • 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。

  • 当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。

  • switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。

原文地址:https://www.cnblogs.com/ymzsb/p/14882436.html