Java范例集锦(二)

范例1. Swich语句

  Switch语句中表达式必须是整型或字符型,常量值1~常量值n必须也是整型或字符型。同一个switch语句,case的常量必须互不相同。

在switch语句中,case语句后常量表达式的值可以为整数,但绝不可以是实数;常量表达式可以是字符,但一定不可以是字符串。

  1.1. 示例代码如下:

import java.util.Scanner;

public class GetSwitch {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scan=new Scanner(System.in);            //创建输入流扫描器
        System.out.println("今天是星期几:");
        int week=scan.nextInt();                        //定义int型变量week,并以接收用户的录入赋值
        switch(week) {
        case 1:
            System.out.println("Today is Monday");        //输出信息
            break;
        case 2:
            System.out.println("Today is Tuesday");
            break;
        case 3:
            System.out.println("Today is Wednesday");
            break;
        default:
            System.out.println("Sorry,I don‘t know");
        }

    }

}

  1.2. 在switch语句中每个case关键字可以作为一个条件分支,但是对于多个条件处理相同业务的情况,可以把case分支关联在一起,

省略它们之间的break语句,而在最后一个相同的case分支中实现业务处理并执行break语句。示例代码如下:

public class Example {
    public static void main(String args[]) {        //主方法
        Scanner scan=new Scanner(System.in);        //创建输入流扫描器
        System.out.println("请输入职员的姓名:");            //提示输入信息
        String empname=scan.nextLine();                //接收输入信息
        System.out.println("职员所从事的编程语言:");        //提示输入信息
        String language=scan.nextLine();            //接收用户信息
        switch(language.hashCode()) {                //根据编程语言确定职员任务范围
        case 3254818:                                //Java的哈希码
        case 2269730:                                //Java的哈希码
        case 2301506:                                //Java的哈希码
            System.out.println("职员:"+empname+"从事Java开发工作");
            break;
        case 2112:                                    //C#的哈希码
        case 3104:                                    //C#的哈希码
            System.out.println("职员:"+empname+"从事C#开发工作");
            break;
        case -709190099:                            //Asp.Net的哈希码
        case 9745901:                                //Asp.Net的哈希码
        case 955463181:                                //Asp.Net的哈希码
            System.out.println("职员:"+empname+"从事Asp.net开发工作");
            break;
        default:
                System.out.println("职员:"+empname+"不从事开发工作");
        }
    }
}

范例2. 验证登录信息的合法性

  大多数系统登录模块都会接受用户通过键盘输入的登录信息,这些登录信息将会被登录模块验证。本范例通过if...else语句进行条件判断简单实现登录信息的验证。代码如下:

import java.util.Scanner;

public class CheckLogin {
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);            //创建输入流扫描器
        System.out.println("请输入用户名:");                    //提示输入用户名信息
        String user=scan.nextLine();                    //接收用户输入
        System.out.println("请输入用户密码:");                //提示输入密码信息
        String pwd=scan.nextLine();                        //接收用户 输入
        if(!user.equals("tiger")) {                        //判断用户的合法性
            System.out.println("您输入的用户名不正确");
        }else if(!pwd.equals("soft123")) {                //判断登录密码的合法性
            System.out.println("您输入的登录密码不正确");
        }else {
            System.out.println("登录成功");
        }
    }
}

范例3. 遍历语句

  3.1. foreach语句是for语句的特殊简化版本,foreach语句并不能完全取代for语句,然而任何foreach语句都可以改写成for语句循环版本。

for语句遍历语法格式为:for(元素变量 x : 遍历对象 obj){ 引用了x的Java语句;}。示例代码如下:

public class Repetition{
    public static void main(String args[]){
        int arr[]={12,33,8,14};                //声明一维数组
        System.out.println("一维数组中的元素分别是:");    //输出信息
        for(int x : arr){                               //foreach语句
            System.out.println(x +"\t");
        }
    }
}

  3.2. 使用while循环遍历数组,示例代码如下:

public class ErgodicArray {
    public static void main(String[] args) {
        String aves[]= {"老虎","狮子","大象","豹子","狐狸","黄鹂","鹦鹉","百灵鸟"};    //定义字符串数组并赋值
        int intArr=0;                                                    //定义索引变量并赋初值
        System.out.println("动物园有:");
        while(intArr<aves.length) {                                    //利用whild循环遍历数组
            System.out.print(aves[intArr++] + " ");                    //自增索引值
        }
    }
}

范例4. 跳转语句

  4.1. break跳转语句:在switch语句中,break语句用于中止下面case语句;break语句还可以应用在for、while和do...while循环中强行退出循环,

也就是忽略循环体中任何其他语句和循环条件的限制。示例代码如下:

public class BreakDemo {
    public static void main(String args[]) {
        String flag="1到100的自然数之和是:";                //定义字符串变量flag并赋初值
        int sum=0;                                    //定义int型变量sum,并赋初值为0
        for(int i=1;i<=100;i++) {
            sum+=i;                                    //将各数进行相加
            if(sum>2000) {                            //如果和大于2000
                flag="从1到"+i+"之间连续整数的和是:";
                break;                                //退出循环
            }
        }
        System.out.println(flag+ sum);
    }
}

  其执行结果为:从1到63之间连续整数的和是:2016

  4.2. continue语句只能应用在for、while和do...while循环语句中,用于让程序直接跳过其后面的语句,进行下一次循环。示例代码如下:

public class ContinueDemo {
    public static void main(String[] args) {
        String flag="从1到10之间的奇数是:";            //定义输出字符串型变量flag,并初始化值
        System.out.println(flag);
        for(int i=1;i<10;i++) {
            if(i%2==0) {
                continue;
            }
            System.out.print(i+" ");
        }
    }
}

  有如:

public class ContinueDemo{
    public static void main(String args[]){
        int i=0 ;                //定义循环增量
        System.out.println("十以内的全部偶数是:");
        while(i<10){
            i++;                //累加的i值
            if(i % 2 ==1){    //当i的值除以2余1时,表示该数不是偶数
                continue;        //进行下一次循环
            }
            System.out.println(i+ " ");        //输出i的值
        }
    }
}

范例5. 终止循环体

  循环用于复杂的业务处理,可以提高程序的性能和可读性,但是循环中也有特殊情况,比如由于某些原因需要立即中断循环去执行下面的业务逻辑。示例代码如下:

public class BreakCycle {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("\n ************************中段单循环的示例*************************");
        String aves[]= {"老虎","狮子","大象","豹子","狐狸","黄鹂","鹦鹉","百灵鸟"};    //定义字符串数组并赋值
        System.out.println("在你发现第一只大象之前,告诉我都有哪些动物。");
        for(String str:aves) {                        //foreach遍历数组
            if(str.equals("大象")) {                    //如果遇到大象
                break;                                //中断循环
            }
            System.out.println("有: "+str+"  ");        //否则输出数组元素
        }
        System.out.println("\n\n*********************中断双层循环的示例*************************");
        int[][] myNum= {{68,79,56,83},
                {23,77,80,89},
                {92,95,99,46}};                        //创建整数数组
        System.out.println("该数组中的数据:\n First\t Second\t Third\tFourth");
        No1:for(int[] is:myNum) {                    //遍历数据表格
            for(int i:is) {
                System.out.println(i+"\t");            //输出数据
                if(i<60) {                            //如果中途遇到小于60的数据,立即中断所有输出
                    System.out.println("\n So and on,"+i+" ");
                    break No1;
                }
            }
            System.out.println();
        }
    }

}

  执行结果为:

************************中段单循环的示例*************************
在你发现第一只大象之前,告诉我都有哪些动物。
有: 老虎
有: 狮子

*********************中断双层循环的示例*************************
该数组中的数据:
First Second Third Fourth
68
79
56

So and on,56

时间: 2024-10-22 09:49:23

Java范例集锦(二)的相关文章

Java范例集锦(四)

范例1. 对矩陈进行转置运算 所谓对矩陈的转置就是将矩陈的行列互换.示例代码如下: public class ArrayRowColumnSwap { public static void main(String[] args) { // TODO Auto-generated method stub int arr[][]=new int[][]{{10,11,12},{20,21,22},{30,31,32}}; //创建二维数组 System.out.println("******转置前的

LeetCode解题源代码链接集锦二

15.Sort List--链表在O(nlogn),常数空间内完成排序 关键点:中间分裂链表,采用双指针归并排序     中间分裂链表的方法:快慢指针,快指针走两步,这样就可以找到中间的了 C++:http://blog.csdn.net/jiadebin890724/article/details/21334059 Java:http://blog.csdn.net/worldwindjp/article/details/18986737 LeetCode解题源代码链接集锦二,布布扣,bubu

Java设计模式(二)-单例模式

单例模式建议保证某个对象仅仅只有一个实例,当只有一个对象来协调整个系统的操作时,在计算机系统中,线程池.缓存.日志对象.对话框.打印机.显卡的驱动程序对象常被设计成单例,总之,选择单例模式就是为了避免不一致状态,避免政出多头. 下面是单例模式的类图:包括的private和static修饰的实例instance.一个private的构造函数.一个static的getInstance函数 单例模式主要有三种:懒汉式单例.饿汉式单例.登记式单例三种 1.饿汉式单例:在类的初始化时候,自行创建了实例 c

【转】java提高篇(二)-----理解java的三大特性之继承

[转]java提高篇(二)-----理解java的三大特性之继承 原文地址:http://www.cnblogs.com/chenssy/p/3354884.html 在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句话中最引人注目的是"复用代码",尽可能的复用代码使我们程序员一直在追求的,现在我来介绍一种复用代码的方式,也是java三大

Java数据结构之二叉搜索树

Java数据结构之二叉搜索树 1.二叉搜索树组成 二叉搜索树又称为二叉排序树,它或者是一颗空树,或者是一颗具有如下特性的非空二叉树,需要满足一下三个条件: (1)若它的左子树非空,则左子树上所有结点的关键字均小于根结点的关键字: (2)若它的右子树非空,则右子树上所有结点的关键字均大于(可以等于)根结点的关键字. (3)左子树右子树本身又各是一颗二叉搜索树 在算法描述中,均以结点值的比较来代表其关键字的比较,因为若结点的值为类类型时,该类必须实现系统提供的java.lang.comparable

java 基础(二)

java 基础(二)java 基础(二) 2016-2-1 by Damon 61. 编写多线程程序有几种实现方式 Java 5以前实现多线程有两种实现方法:一种是继承Thread类:另一种是实现Runnable接口.两种方式都要通过重写run()方法来定义线程的行为,推荐使用后者,因为Java中的继承是单继承,一个类有一个父类,如果继承了Thread类就无法再继承其他类了,显然使用Runnable接口更为灵活. 补充:Java 5以后创建线程还有第三种方式:实现Callable接口,该接口中的

Java Web总结二十一Listener监听器

一.事件三要素 1.事件源:操作事件的对象,例如:窗体Frame 2.事件监听器:事件监听器监听事件源,例如WindowListner,它是一个接口 3.事件,例如:单击事件,通过事件,可以取得事件源 二.适配器模式 1.当一个接口有较多的方法时,而实现类只需对其中少数几个实现,此时可以使用适配器模式 2.适配器模式常用于GUI编程 三.八种Web监听器 1.Web中有三个事件源,分别是ServletContext->HttpSession->ServletRequest 2.ServletC

java实现生成二维码

                                                     java实现生成二维码 二维码vs条形码 最大的区别就是:二维码具有容错功能,当二维码图片被遮挡一部分后,仍可以扫描出来.容错的原理是二维码在编码过程中进行了冗余,就像是123被编码成123123,这样只要扫描到一部分二维码图片,二维码内容还是可以被全部读到. 二维码容错率即是指二维码图标被遮挡多少后,仍可以被扫描出来的能力.容错率越高,则二维码图片能被遮挡的部分越多. 二维码容错率用字母表

Java 第十二章 继承 笔记

Java 第十二章  继承 笔记 一.使用继承:     1)方便修改代码     2)减少代码量 二.super 继承object 类:super 访问父类的无参构造:super 指的是object 的无参构造.     例:子类调用父类:super.属性 / super.方法    注意:子类不能继承父类私有属性:得用set.get方法来调用:    super只能写在代码块的第一句:super只能调用非私有的方法:    super只能出现在子类的方法和构造方法中. 三.不能被继承的父类成