Java日记(3)—Java基本控制结构

Java中的控制语句有以下几大类:

  1. 分支语句:if-else,switch
  2. 循环语句:while,do-while,for
  3. 跳转语句:break,continue,return
  4. 例外处理语句:try-catch-finally,throw(本节不讲)

控制语句用法和c/c++一样,没有区别,下面介绍在练习的过程中用到的Java内置的一些东东.


1.分支语句:

代码一:

import java.util.Scanner; //A行 
public class Example_4_1 {

    public static void main(String[] args) {
        Scanner sc= new Scanner(System.in);  //B行 
        System.out.print("请输入成绩:");
        int score = sc.nextInt();   //C行 
        if(score >= 0 && score <= 100)
        {
            System.out.println("成绩:"+score);
        }
        sc.close();                   //D行
    }
}

说明:

  • A行: import java.util.Scanner;
  • java.util.Scanner是Java5的新特性,主要功能是简化文本扫描,获取控制台输入

    java是包名,util是java包里面的一个子包,Scanner表示util包里面的一个类,import是导入包中的类的意思,若是带”*”表示导入该包中的所有类。

    Java程序中,除了java.long包中的所有的类是java环境中自动导入的,其他的都需要用import声明。

  • B行: 创建一个Scanner类的对象,并且将对象System.in的作为实参去调用相关的构造函数(该Scanner对象可以根据in对象实现允许输入的功能)
  • C行:

    Scanner类的一些方法(函数):

    next():每次取到一个间隔符前面的数据,如:输入Hello World取值是Hello,应为空格为一个间隔符

    nextLine():每次取到一个换行符(/n)前面的数据,如:输入Hello World取值就是Hello World。

    nextInt():取next()函数的数据(字符串),然后把字符串解析成一个int数字(同理还有nextLong(),nextShort()方法)

    hasNexInt():判断下次调用next()是否可以得到一个可以安全解析成int的字符串。如果已经到达输入的结尾,或者下一个next()的返回值不能解析为一个数字,即不符合数字的格式,那么返回false(可以作为if语句的条件,然后再使用nextInt()函数。

  • D行:

    凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉,就好像你接完水后要关了水龙头一样

    输入流,不关闭,会占用资源
    输出流,不关闭,可能会造成最后一部分数据丢失

延伸阅读:其他方法获取控制台输入:http://blog.csdn.net/yiyiwudian/article/details/46522415

代码二:


import java.util.Scanner;

public class Example_4_3 {

    public static void main(String[] args) {
        //产生一个1~4之间的随机整数
        int random = 1+ (int)(Math.random()*4);// A行
        switch(random)
        {
        case 1:
            System.out.println("I feel fine");break;
        case 2:
            System.out.println("I've been better");break;
        case 3:
            System.out.println("I feel horrible");break;
        case 4: 
            System.out.println("I feel terrific");break;
        }
    }

}

说明:
A行:

Math.random() 函数返回一个区间为[0.0,1.0),在该范围内随机的一个double类型的数;

然通过强制类型转换转成整数类型的,即1~4

延伸阅读:Random()函数的详解与其他用法:http://www.cnblogs.com/ningvsban/p/3590722.html

###2.循环语句: 代码一:

public class Example_4_7 {

    public static void main(String[] args) {
        int sum=0;
        int []a = {13,25,78,12};    //A行
        for(int i=0;i<a.length;i++)    //B行
        {
            sum+=a[i];
        }
        System.out.println(sum);
    }

}

说明:

  • A行:
  • 声明数组的方式:int[] a(也可以 int a[],但是前种可读性比较好,java推荐使用前一种)

    注:java声明数组时不能指定数组大小,即不能写 int[4] a;

代码二:

public class Example_4_8 {

    public static void main(String[] args) {
        int sum=0;
        int[] a={13,25,78,12};

        for(int i:a){                              //A行
            sum+=i;
        }
        System.out.printl   sum);
    }

}

说明:
A行:

JDK1.5对for语句的功能进行了扩充,可以使用for-each循环更好的遍历数组和容器对象。for-each循环语句的语法格式如下(注意与PHP很不一样,别搞混了):

for(变量类型 变量名:数组/容器)<br />
{
    循环结构体
}

3.综合应用:


import java.awt.*;      //A行
import javax.swing.JOptionPane;    //B行

public class Example_4_yingyong_answer {

    public static void main(String[] args) {
        int number;//用户输入的4位数
        int []digit;
        int encryptedNumber;//加密后的数字

        digit=new int[4];
        //输入一个四位数,保存在变量number中
        String inputNumber = JOptionPane.showInputDialog("Enter a four digit number:"); //C行
        number = Integer.parseInt(inputNumber);//D行
        //加密
        //编写代码,对4位数中的每一位数按照问题描述的方式进行加密运算
        for(int i=0;i < inputNumber.length();i++)
        {
            digit[i]=Integer.parseInt(inputNumber.substring(i,i+1));     //E行
            digit[i]=(digit[i]+7)%10;
        }
        //编写代码,交换第一个数和第三个数,第二个数和第四个数,生成加密后的数字
        encryptedNumber = Integer.parseInt((Integer.toString(digit[2])+Integer.toString(digit[3])+Integer.toString(digit[0])+Integer.toString(digit[1])));     //F行
        //编写代码,用消息对话框显示加密的结果
        JOptionPane.showMessageDialog(null, number+"加密之后是:"+encryptedNumber,"密文:",JOptionPane.INFORMATION_MESSAGE);  //G行
        System.exit(0);     //H行
    }
    //结束main方法
}
//结束Example_4_yingyong_answer类

说明:

  • A行:
  • java.awt.*:导入java包中的awt子包中的所有类

    awt包,即java抽象窗口工具包(Abstract Window Toolkit,AWT)提供了许多用来设计GUI(Graphics User Interface,图形用户界面)组件类。java早期进行用户界面 设计时,主要用java.awt包提供的类,如Button(按钮),TextField(文本框)和List(列表)等,JDK1.2推出后,增加了一个新的javax.swing包,该包提供了功能更为强大的用来设计GUI的类。

  • B行:
  • javax.swing.JOptionPane:导入javax包中的swing子包中的JOptionPane类

    JOptionPane是有助于方便地弹出要求用户提供值或向其发出通知的标准对话框。它是用来编写图形用户界面的一个类

  • C行:
  • JOptionPane.showInputDialog(“Enter a four digit number:”):调用JOptionPane.showInputDialog()函数,参数为一个字符串

    JOptionPane.showInputDialog()函数,用户输入框,(类似HTML中的<input type=”text”>)。 详细用法

  • D行:
  • Integer.parseInt(String):integer是int的包装类,parseInt(String)方法就是将参数String转换为int类型,遇到一些不能被转换为整型的字符时,会抛出异常。

  • E行:
  • String对象的substring(int beginIndex,int endIndex)方法:截取字符串函数。返回截取后的子字符串,该字符串从制定的beginIndex开始,到endIndex-1结束,字符串长度是endIndex-beginIndex(注意字符串是从0开始算的)
    也可以省略参数endIndex,表示截取从beginIndex开始到结尾的字符串

  • F行:
  • integer.toString(int Number,int type)函数,将int型Number转换成字符串类型;type可以省略,表示要转换成的进制表示(2进制,10进制,16进制,32进制)

  • G行:
  • showMessageDialog()方法:消息提示框,(类似js中的alert) 详细用法

  • H行:
  • System.exit(0)表示正常退出程序,非0的表示非正常退出程序(结束当前正在运行的虚拟机)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值