第一章 了解Java

目录

1.1 Java概述

一、Java简介

二、Java的特点

三、Java工作方式

1.2 开发Java应用程序 

一、一个简单的Java应用程序

二、代码编写及保存

三、程序编译及运行

四、初识类

1.3  main()方法与命令行参数

一、谁给main方法传递参数?

二、命令行参数的使用

1.4 Java基本语法

一、基本数据类型

二、标识符命名规则及规范

三、注释语句

四、流程控制语句

五、选择结构语句

六、循环结构语句


1.1 Java概述

一、Java简介

Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称。由 James Gosling和同事们共同研发,并在 1995 年正式推出。

后来 Sun 公司被 Oracle (甲骨文)公司收购,Java 也随之成为 Oracle 公司的产品。

Java分为三个体系:

  • JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)
  • JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)
  • JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。

2005 年 6 月,JavaOne 大会召开,SUN 公司公开 Java SE 6。此时,Java 的各种版本已经更名,以取消其中的数字 "2":J2EE 更名为 Java EE,J2SE 更名为Java SE,J2ME 更名为 Java ME。

二、Java的特点

  • 简单
  • 面向对象
  • 与平台无关  ——  “一次编写,处处运行”
  • 多线程
  • 安全
  • 动态

三、Java工作方式

源文件(*.java)——编译——字节码文件(*.class)——解释——机器码(011)

                       javac MyFirstApp.java                        java MyFirstApp

JVM(java virtual machine):将字节码文件解释为机器可以识别的二进制代码。


1.2 开发Java应用程序 

一、一个简单的Java应用程序

  1. public class MyFirstApp声明了一个公共类,MyFirstApp是类的名称,由用户指定。
  2. public static void main(String[] agrs)声明了一个方法。(String[] agrs = String agrs[])
  3. 每个Java应用程序必须定义一个main方法,main方法是程序运行的起始位置,方法首部为public static void main(String s[]),除了括号内s可由用户自定义外,其他部分书写必须于此严格一致。
  4. System.out.println()实现输出功能,然后换行,光标出现在下一行的首位置。同时也可以使用System.out.print()实现输出功能,它们的区别在于后者输出内容后不换行。

二、代码编写及保存

public class MyFirstApp{

             public static void main(String[] args){

                          System.out.println("哈哈,我的第一个Java程序!");

              }
}

编写完成后,保存成MyFirstApp.java文件。

注意:

  1. Java规定,如果源代码中有公共类(public修饰的类),那么文件保存的名称必须和该类一致,并且main方法通常放在这个类中。
  2. 公共类只能写一个。
  3. 如果 源代码中没有公共类,那么文件名称和任意一个类名称一致就可以。

三、程序编译及运行

  1. DOS环境下进入相应文件夹。
  2. 编译源文件。——javac MyFirstApp.java
  3. 运行程序。——java MyFirstApp

四、初识类

这样的代码就是一个类:

 可以在源程序中编一个一个或多个类,但都要符合这样的格式。

注意:

  1. class很重要,不能写错,它是定义类的关键字。
  2. class前面是访问修饰符,有时写public,有时不写。
  3. 如果在一个源程序中定义了多个类,则其中只能有一个公共类(public修饰),公共类的名称必须与文件名称保持拼写和大小写一致。
  4. class后类的名称要符合“标识符命名规则及规范”,书写要规范。
  5. 类的内容要在那对大括号 {} 里,不能忘记大括号。

1.3  main()方法与命令行参数

一、谁给main方法传递参数?

         JVM给main()方法传递参数。具体通过DOS命令窗口中输入的实参传递给字符串数组。

二、命令行参数的使用

1.接受用户在命令行输入的内容并进行显示。

public class ArgsTest{
       public static void main(String[] args){
           System.out.println("您输入的第一个命令行参数是"+args[0]);
                     String s=args[1];
                     System.out.println("您输入的第二个命令行参数是"+args[1]);
       }

}

 编译并运行程序:

  •  Hello~    123就是命令行参数。
  • main()方法中args[ ]用来接收在命令行输入的数据。
  • 命令行带有多个参数时,各参数之间用空格分开。
  • 命令行都是字符串。
  • 可以使用System.out.println( )直接输出参数内容,也可以将参数保存到String字符串类型的变量中再使用。

2.接收用户在命令行输入的两个整数,输出它们的和。

public class SumTest{
      public static void main(String[] args){
              int a,b,sum;
              a=Integer.parseInt(args[0]);           //将args[0]由字符串转换为整数
              b=Integer.parseInt(args[1]);           //将args[1]由字符串转换为整数
              sum=a+b;
              System.out.println(a+"+"+b+"="+sum);      
              }
}

 编译并运行程序:

假设命令行参数输入了“7 3.5 ABC”,则:

  • 将字符串 “7” 转换为整数 7 存到变量 a 中。          int a =Integer.parseInt(args[0]);
  • 将字符串 “3.5” 转换为单精度实数 3.5 存到变量 b 中。 float b =Float.parseFloat(args[1]);
  • 将字符串 “3.5” 转换为双精度实数 3.5 存到变量 c 中。double c =Double.parseDouble(args[1]);
  • 得到字符串“ABC”中的第二个字符,存到变量 ch 中。char ch=args[2].chatAt(1);  //位置索引值从0开始计数

用System.out.println()实现输出时,双引号内是照原样显示的内容,要输出变量、表达式的值,只需要用加号“+”把各部分连接在一起就可以了。


1.4 Java基本语法

一、基本数据类型

 注意:布尔类型用来表示逻辑值,只有真、假两种取值,Java用true和false来代表。布尔类型变量不能保存这两个值之外的其他任何数据,而且不能转换为整数。

二、标识符命名规则及规范

Java标识符的命名规则:

  1. 由字母、数字、下划线(_)或美元符号($)组成。
  2. 不能用数字做第一个字符。
  3. 标识符区分大小写。
  4. 中间不能出现空格。
  5. 不能与关键字重名。

Java所有关键字如下:

 Java的命名规范及约定:

  1. 每个名字可以由几个单词连接而成。
  2. 对于类名,每个单词的开头字母应该大写。 如MyFirstApp。
  3. 对于方法名和变量名,类似类名的命名规则,但第一个字母不用大写,即从第二个单词开始首字母大写。 如myMethod( )。
  4. 常量应该用全部大写的标识符定义。
  5. 包名应该全部小写。 如 java.awt.* 中的 awt 包。

三、注释语句

1.单行注释

   // 注释内容

2.多行注释

   /* 

       注释内容 

   */

3.文档注释 (文档注释一般对程序的结构进行说明,如类、属性、方法和构造方法的说明,文档注释可以被提取出来形成程序文档的注释格式。)

    / * *

       注释内容

    * /

四、流程控制语句

      三大结构 : 顺序、选择、循环

五、选择结构语句

1.单分支 if 选择结构语句

   if (表达式){

    //若干语句;

    }

例:得到一个数的绝对值。

public class AbsTest{                                      //声明一个叫做AbsTest的公共类
      public static void main(String[] args){              //main方法首部
               int a = -7;                                //声明一个整型变量 a 并赋初值为-7
               if(a<0)
                    a = -a;                              //如果 a 是负数就变成正的,得到绝对值
               System.out.println("这个数的绝对值是"+a);  //输出结果
      }                                                 //main方法结束
}                                                       //AbsTest类结束 

程序运行后在屏幕上显示:

 2.双分支 if 选择结构语句

    if(表达式){

           若干语句;

          }

    else{

           若干语句:

     }

例:得到若干个整数中的较大值。

public class MaxTest{                                 //声明一个叫做MaxTest的公共类
      public static void main(String[] args){         //main方法首部
            int a=3,b=7,c=9,m=0;                      //声明4个整型变量并分别赋初值
            m=max(a,b);                           //调用max方法得到a,b中的较大值存至变量 m 中
            System.out.println("a 和 b 的较大值是"+m);  //输出a、b的较大值
            System.out.println("a、b、c 三个数的最大值是"+max(m,c));  //调用max方法得到 m 和 c 的 较大值
      }                                               //main方法结束
      public static int max(int num1,int num2){       //max方法首部
            //比较大小并返回较大值
            if(num1>num2)
                 return num1;
            else
                 return num2;
      }                                               //max方法结束                             
}                                                     //MaxTest类结束

程序运行后在屏幕上显示:

3.多分支 if 选择结构语句

    if(表达式){

         若干语句;    

    }

    else if(表达式){

          若干语句;

    }

    else if(表达式){

          若干语句;

    }

   else{

          若干语句;

   }

例:台风预警。根据风力的所在范围,发出不同级别的预警信息。

public class StormLevel{
       public static void main(String[] args){
               int wind=Integer.parseInt(args[0]);          //将命令行输入的风力转换为整数
               if(wind<6)
                    System.out.println("白色台风信号");
               else if(wind<=7)
                    System.out.println("绿色台风信号");
               else if(wind<=10)
                    System.out.println("黄色台风信号");
               else if(wind<=12)
                    System.out.println("红色台风信号");
               else
                    System.out.println("黑色台风信号");
      }

}

程序运行后在屏幕上显示:

 

if else 语句的使用注意事项

  1. 条件要用小括号括起来。
  2. 小括号内必须是boolean类型表达式或数据。
  3. 小括号后不要乱加分号。
  4. 执行语句为多条时,要使用大括号把这一系列语句括起来。
  5. else 必须和 if 搭配使用。
  6. 多分支结构要注意 if else 的配对,建议执行语句均用大括号括起来。
  7. 多分支结构各个条件之间要注意共同构成的情况判断的完整性。

 4.switch 多分支开关语句

     switch(整数表达式){

             case 常量表达式1:

                                      若干语句;

                                      break;

             case 常量表达式2:

                                      若干语句;

                                      break;

             case 常量表达式3:

                                      若干语句;

                                      break;

}

例:根据命令行输入的名次,看看能得到什么奖品。

public class RankTest{
       public static void main(String args[]){
             int rank=Integer.parseInt(args[0]);    //将命令行输入的名次转换为整数
             switch(rank){
              case 1:System.out.println("得到一副羽毛球拍");break;
              case 2:System.out.println("得到一副乒乓球拍");break;
              case 3:System.out.println("得到一对哑铃");break;
              case 4:
              case 5:
              case 6:System.out.println("得到一个运动水壶");break;
              default:System.out.println("未取得名次,下次加油!");
             }
       }
}

编译及运行结果显示:

switch语句的使用注意事项

  1. 小括号里的表达式只能是整型或字符型表达式。
  2. case中的值必须是整型或字符型常量,且互不相同。
  3. 多个case要执行相同的操作,可共用一组语句。
  4. 使用break语句完成开关功能,避免各个case执行混乱。

六、循环结构语句

1.while“当型”循环语句

  while(表达式){

   循环体语句;

    }

例:求1~10的累加和,用while语句实现。

public class SumDemo1{
        public static void main(String[] args){
               int i=1,sum=0;
               while(i<=10){
                      sum=sum+i;
                      i=i+1; 
               }
               System.out.println("1~10的累加和是"+sum);
        }
}

编译程序及运行:

2.do···while“直到型”循环语句

do

{

      循环体语句

}while(表达式);

例:求1~10的累加和,用do···while语句实现。

public class SumDemo2{
        public static void main(String[] args){
               int i=1,sum=0;
               do{
                      sum+=i;
                      i++;
               }while(i<=10);
               System.out.println("1~10的累加和是"+sum);
        }
}

程序编译及运行:

 3.for循环结构语句

for(表达式1;表达式2;表达式3){

      循环体语句;

}

 例:求1~10的累加和,用for语句实现。

public class SumDemo3{
        public static void main(String[] args){
               int i,sum;
               for(i=1,sum=0;i<=10;i++)
                     sum+=i;
               System.out.println("1~10的累加和是"+sum);
        }
}

程序编译及运行:

4.break语句和continue语句

    break语句用来结束当前循环体的执行,把控制转移到循环体下一个可执行语句。

    continue语句用来跳过循环体中它后面的所有语句,控制转移到循环体的条件判断处。

例:找到能够同时被3,7,13整除的最小的数,使用break帮助实现。

public class FindNumber1{
     public static void main(String[] args){
           int i=13;
           while(true){
            /*由三个数中最大的13开始不断增大,查找,
            若找到同时能够整除的数则立即退出循环,输出结果*/
                 if(i%3==0&&i%7==0&&i%13==0)
                      break;
                    i++; 
           }    
           System.out.println("能够同时被3,7,13整除的最小的数是"+i);
     }
}

 程序编译及运行:

 例:在50~100之间,有谁是13的倍数?使用continue帮助实现。

public class FindNumber2{
     public static void main(String[] args){
           int i;
           System.out.print("50~100之间13的倍数有:");
           for(i=50;i<=100;i++){
                 if(i%13!=0)          //若当前整数不能被13整除,则跳过输出进入下一循环
                     continue;
                 System.out.print(i+" ");
           }
     }
}

 程序编译及运行:

循环结构语句的使用注意事项

  1. 条件要用小括号括起来,小括号不要随便加分号。
  2. while与do···while语句不要忘记给变量赋初值,循环体内要有影响条件变化的语句。
  3. for循环语句小括号内有时根据情况可省略某些部分,如变量在前面使用赋值语句已赋好初值,则小括号内第一部分可省略。但注意两个分号无论何时都必须要写。
  4. 循环体为多条语句时,要用大括号将它们括起来形成复合语句。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值