zoukankan      html  css  js  c++  java
  • Java探索之旅(3)——选择与循环

    1.选择结构与输出

       ❶Switch语句:

          Switch表达式必须算出 char,byte,short,int类型数值之一,总是括号括住;Value1----ValueN,对应有相同数据类型且为常量或者常量表达式(1+2,‘A’+2),不能包含变量(如1+x);

          从某个匹配语句开始向后执行。break和默认情况default可选

       ❷条件表达式:System.out.println((a>b)?:a:b);

       ❸格式化控制台输出Printf

             %b   布尔值                 %6b        输出布尔值,false前增加一个空格,true增加2个
             %c   字符                   %5c        输出宽度为5,即字符前添加4个空格
             %d   十进制                 %5d        同理,但若数字位数大于5,自动增加宽度
             %f   浮点数                 %10.2f     宽度为10,包括2位小数,即整数部分宽度为7,倘若不够,自动增加宽度
             %e   标准科学计数法         %10.2e     浮点条目宽度至少为10,含小数点,小数点后2位和指数部分。若宽度不够,增加空格
             %s   字符串                 %12s       宽度至少为12,可以自动增加宽度

        可以在标识符前置'-'表示左对齐,如%-10.2f。switch表达式和case常量表达式类型应该匹配,在格式字符串中倘若要输出%,应该使用%%。使用方法如:

    System.out.printf("%8d%-8s%8.1e",1234,"JAVA",3856.7);

       布尔类型的值不能与其他类型数值相互转换  

       ❺随机数[0 1]产生函数,Math.random()

       ❻运算符优先级:“+,-”左结合(从左到右),所有之外的二元运算符右结合。运算符优先级如下:

    后置运算符(++,--) > 前置运算符(++,--)> ! > 比较运算符(小于优先大于,开区间优先闭区间) > 逻辑运算符 > 赋值运算符

    2.循环结构

        ❶循环结构中,不能用浮点数比较相等作为循环控制条件,因为浮点数均为近似。

        ❷while和for为pretest loop,先判断再执行,do-while则至少执行一步在循环。while和do-while一般用来控制迭代未知的情况,for则是控制已知较多。

        ❸break控制跳出循环体(包含break的内层循环体),continue则跳出本次循环。

    3.GUI对话框

        首先 import javax.swing.JOptionPane

        ❶输入对话框,返回String:

    String string=JOptionPane.showInputDialog(null,"Enter a double number","输入圆的半径",JOptionPane.QUESTION_MESSAGE)

        ❷显示对话框,不返回有效值: 

     JOptionPane.showMessageDialog(null"wlecom to Java","Display Window",JOptionPane_INFORMATION_MESSAGE

        ❸确认对话框,返回int,  0--yes,1-no, 2-cancel

    int answer=JOptionPane.showConfirmDialog(null,"how do you do?")。 

    4.Switch循环和GUI对话框测试

    import java.util.Scanner;
    import javax.swing.JOptionPane;
    public class ChoiceStudy {
    	public static void main(String[] args) 
    	{
    		//switch使用方法
    		Scanner input=new Scanner(System.in);
    		System.out.print("input a number---");
    		byte data=input.nextByte();
    		switch(data+1)
    		{
    		case 1*2:System.out.println("hello world");
    		    break;
    		case 2+1:System.out.println("Happy Coding");
    		    break;
    		default:
    			System.out.println("Welcome to JAVA");
    		}
    		input.close();
    		
    		//GUI确认对话框
    		int answer=JOptionPane.showConfirmDialog(null, "What a nice day!
    ");
    		if(answer==JOptionPane.YES_OPTION)//0
    		     System.out.println("Love Life,love youself");
    		else if(answer==JOptionPane.NO_OPTION)//1
    		     System.out.println("No pains,No gains");
    		
    		//GUI之确认对话框,输入对话框,显示对话框
    		//GUI对话框控制循环
    		int option=JOptionPane.YES_OPTION;
    		int sum=0;
    		while(option==JOptionPane.YES_OPTION)
    		{
    			String intString=JOptionPane.showInputDialog(null,"Input an int value","Input Window",JOptionPane.QUESTION_MESSAGE);
    			int number=Integer.parseInt(intString);
    			sum+=number;
    			option=JOptionPane.showConfirmDialog(null, "Continue Input?");
    		}
    		JOptionPane.showMessageDialog(null, "The sum of all Input number is
     "+sum,"Show Sum Window",JOptionPane.INFORMATION_MESSAGE);
    		
    	}
    }

  • 相关阅读:
    基于 MySQL 5.6 keepalived的双主搭建
    keepalived.conf 配置文件小结
    keepalived小结
    能不能利用复制报错,让从库停在同一个复制的位置上?
    复制介绍、复制的实用价值
    复制相关参数学习笔记--master上的参数
    计数排序
    双向链表
    约瑟夫问题
    单链表中重复元素的删除
  • 原文地址:https://www.cnblogs.com/engineerLF/p/5393102.html
Copyright © 2011-2022 走看看