java关于switch-case的练习题
java复习中南

第四章。
• 如果变量a中有一个值,变量b中有一个值,如何将两个变量 中的值互换? 1、运用临时变量 temp = a; a = b; b = temp; 2、不用临时变量(加减运算) a = a + b; b = a - b; a = a - b; 关于你们老师问的能不能用乘除运算,我觉得不可以,我猜因 为分母为零呵呵,,不知道是不是?
obj1.fn=31 obj1.fk=40 obj2.fn=32 obj2.fk=40
第六章
1、继承(extends) 这个讲继承ppt实在是乱七八糟,找书看吧,看不下去 了。。。T-T 2、多态 动态多态:重写或覆盖(Override),通过继承,子类覆盖 父类中的方法【一般重写的是函数】***要求子类的成员 函数与父类的函数名称相同,参数列表相同,返回类型相 同*** 静态多态:重载(Overload)(重载的作用就是让程序员少 记一些函数的名字),在同一个类中,【我们学的也是函 数的重载】***函数名字相同,必须满足下列条件之一:1、 参数个数不同 2、参数个数相同,类型不同 3、参数个 数相同,类型相同,但是在参数列表中出现的顺序不同。 特别注意:返回类型不同不能作为判断的依据。***
练习题:
1. 下列( B )是不能通过编译的语句。
A.double d = 545.0; C.int i = 321; int a = 10; B.char a1 = “c”;
char a1 = 'c'
D.float f1 =45.0f;
2.执行下列程序代码的输出结果是( 10,11,11 )。
int i, j;
AB
3.下列关于构造方法的叙述中,错误的是
( D )。?????????? A.构造方法名与类名必须相同 B.构造方法没有返回值,且不用void声明 C.构造方法只能通过new自动调用 D.构造方法不可以重载,但可以继承
Java基础试题及其答案(1)

Java基础试题及其答案(1)Java试题1)java程序中,main⽅法的格式正确的是()。
(选择⼀项)a)staticvoidmain(String[]args)b)publicvoidmain(String[]args)c)publicstaticvoidmain(String[]s)d)publicstaticvoidmain(String[]args)2)给定java代码,如下:publicbytecount(byteb1,byteb2){return______;}要使⽤这段代码能够编译成功,横线处可以填⼊()。
(选择⼀项)a)(byte)(b1-b2)b)(byte)b1-b2c)b1-b2d)(byte)b1/b23下的所有类都可以访问这个类,这个类必须定义为abcd46)给定javaStrings=null;s.concat(“abc”);a)ArithmeticExceptionb)NullPointerExceptionc)IOExceptiond)EOFException已到⽂件尾,再读取抛出7)在java中,()对象可以使⽤键/值的形式保存数据。
(选择⼀项)a)ArrayListList有序可重复b)HashSetSet⽆序不可重复同⼀对象是重复的c)HashMapMap(key/value)重复定义:hashCode、equals(业务)d)LinkedListList8)给定如下java代码,编译运⾏之后,将会输出()。
publicclassTest{publicstaticvoidmain(Stringargs[]){inta=5;((a%2==1)?(a+1)/2:a/2);三⽬表达式}}(选择⼀项)a)1b)2c)2.5d)39)以下Java语句中,Stringstr=“”;str=str.subString(1,3);执⾏后str中的值为。
(选择⼀项)subString ⼦串[1,3) a)“23”b)“123”c)“12”d)“234”10)给定如下java代码,以下()代码⾏编译会报错。
switch语句的用法题目

switch语句的用法题目题目一:编写一个简单的Switch语句的Java程序在Java中,Switch语句是一个控制流语句,用于基于不同的条件执行不同的代码块。
下面是一个简单的Switch语句的Java程序示例:```javapublic class SwitchExample {public static void main(String[] args) {int day = 3;String dayType;switch (day) {case 1:dayType = "Monday";break;case 2:dayType = "Tuesday"; break;case 3:dayType = "Wednesday"; break;case 4:dayType = "Thursday"; break;case 5:dayType = "Friday";break;case 6:dayType = "Saturday";break;case 7:dayType = "Sunday";break;default:dayType = "Invalid day";break;}System.out.println("Day type is: " + dayType); }}```在上面的示例中,我们使用了一个整数变量`day`,它的值是3。
然后,我们使用Switch语句根据`day`的值来设置字符串变量`dayType`的值。
在每个case语句中,我们设置`dayType`的值为相应的星期几的名称。
如果`day`的值不在1到7之间,我们使用default语句来设置`dayType`的值为"Invalid day"。
switch函数和if语句的相关练习题及答案

switch函数和if语句的相关练习题1. 以下程序的执行结果是 (-1)main(){ int x=100,a=10,b=20,v1=5,v2=0;if(a<b)if(b!=15)if(!v1)/*得0所以x=1不执行*/x=1;elseif(v2)/* 得0所以x=10不执行,所以x在if语句中没有赋值*/x=10;x=-1;printf(“%d”,x); }2. 以下程序的输出结果是 8,8,10main(){ int x=10,y=9;int a,b,c;a=(--x==y++)?--x:++y;/*a=x=8,y=10*/b=x++;/*b=x=8,x=9*/c=y;/*b=8,c=10*/printf(“%d,%d,%d”,a,b,c); }3. 以下程序输入3时,输出结果是 34main(){ int k;scanf(“%d”,&k);switch(k){ case 1:printf(“%d”,k++);case 2:printf(“%d”,k++);case 3:printf(“%d”,k++);/*输出本身的值3,但是k已经变成4*/case 4:printf(“%d”,k++); break; /*输出本身的值4,但是k已经变成5*/ default :printf(“FULL!”); }printf(“\n”); }4. 以下程序的执行结果是 10main( ){ int a=-1,b=1,k;if((++a<0)&&!(b--<=0))/*if(++a<0)为假, 后面短路,与运算前面为假,则这个表达式就为假,且a=0,b因为短路了没有赋值,所以b还是它本身的值*/printf(“%d%d\n”,a,b);elseprintf(“%d%d\n”,b,a); }5. 以下程序的运行结果是__1,1______。
main(){int x,y,z;x=1;y=2;z=3;(x=y--<=x)||(x=y!=z);/* (x=y--<=x): 2<x为真1 x=1为真,后面短路,或运算前面为真,则这个表达式就为真,在语句 (x=y--<=x)中,x=1,y=1,后面因为短路没有赋值 */printf(“%d,%d”,x,y);}6. 以下程序的运行结果是__1,0________。
JAVA基础入门—if switch练习

default: days=31; //其它月份为31天
}
System.out.println(month+"月份为【"+days+"】天");
}
}
if(c>max) max=c;
System.out.println("Max="+max);
min=a<b ? a : b;
min=c<min ? c : min;
System.out.println("Min="+min);
}
}
2、给出一个分数,按不同的分数段将其评定为A、B、C、D和E五个档次之一。
//应用
public class App4_2
{
public static void main(String[] args)
{
int testScore=86;
char grade;
if(testScore>=90){
grade='A';
} else if (testScore>=80) {
1、找出三个整数中的最大值和最小值。
//filename:App4_1.java if语句的应用
public class App4_1
{
public static void main(String[] args)
{
int a=1,b=2,c=3,max,min;
if(a>b)
max=a;
else
max=b;
System.out.print("请输入月份:");
第二、三章java语法知识复习练习

第二、三章 Java根底知识与流程构造1、Java语言是〔〕A、区分大小写的B、不完全区分大小写C、完全不区分大小写D、以上说法都不对2、Java语言中,以下标识符错误的选项是A、nameB、?questionC、$numberD、_tree3、在Java语言中,int类型在内存中所占的位数为A、8B、16C、32D、644、以下不属于根本类型的是A、intB、interfaceC、floatD、char5、Java变量中,以下不属于复合类型的数据类型是A、数组型B、类C、整数型D、接口6、专门定义常量的保存字是A、varB、interfaceC、finalD、const7、以下定义变量错误的选项是A、int al;B、char ch1;C、int d1=10;D、bool bl1;8、以下定义变量错误的选项是()A、char s="23";B、short I=100;C、double d;D、String srt="weare me!";9、在给数值类型赋值时,如数字后没有字母,计算机默认为〔〕类型A、integer类型B、float类型C、double类型D、字符类型10、将较长的数据类型转换为较短的整数类型,要进展〔〕A、类型的自动转换B、类型的强迫转换C、无需转换D、无法实现11、以下表示回车的是A、\fB、\nC、\tD、\r12、以下赋值语句错误的选项是A、i=i;B、I = = 0;C、I = I +1;D、I += 1;13、在Java中,〞%〞符号的作用是A、求百分比B、求余C、除D、取整14、下面不属于Java条件分支语句构造的是A、if-else if构造B、if-else构造C、if-else if-else构造D、if-end if构造15、Java中最简单的条件语句是( )构造A、if构造B、while构造C、if-else构造D、以上都不对16、当x=1、y=3,时,表达式 x%=y 的运算结果为( )A、x=2,y=3B、x=0,y=3C、x=1,y=3D、x=1,y=217、if语句中“条件〞表达式可以是A、关系表达式B、布尔逻辑表达式C、选项A、B都是D、以上都错18、if语句中“条件〞为“真〞时,可以执行A、一条语句B、两条语句C、多条语句D、一条语句,或者由“{}〞括起的代码块19、If-else语句中的else子句A、可以单独使用B、不能单独使用C、可以在一定条件下单独使用D、可以配合while使用20、三元条件运算符ex1 ? ex2: ex3,相当于下面的( )语句A、if(ex1) ex2;else ex3;B、if(ex2) ex1;else ex3;C、if(ex1) ex3;else ex2;D、if(ex3) ex2;else ex1;21、Java程序中的语句不可以是A、单一的一条语句B、{}括起来的语句块C、复合语句D、汉字语句22、switch语句表达式的值与某case子句的值匹配后A、执行该子句后的所有语句,遇到break终止执行B、只执行该case子句C、执行该子句后的所有语句,除了default子句D、只执行default子句23、switch语句中A、必须有default子句B、不必有default子句C、必须有default子句和至少一个case子句D、必须有default子句,不必有case子句24、switch语句中A、case子句中的值不一定必须是常量B、case子句中的值可以是变量C、case子句的值必须是常量D、case 子句的值必须是变量25、在switch语句中,每个case子句后A、都必须有一个break语句B、不应存在break语句C、假如不想执行以后的case分支和default分支,应有break语句D、假如想执行以后的case分支和default分支,应有break语句26、下面对do-while构造描绘错误的选项是A、先执行循环体,再判断终止条件,假设结果为true,循环执行循环体,直到布尔表达式为falseB、循环体至少执行一次C、循环中可以使用break跳出循环D、与while语句完全一样27、对for循环初始化描绘正确的选项是A、必须执行初始化操作B、首先执行初始化操作C、先执行循环体内容再执行初始化操作D、以上都不对28、可以在for循环初始化部分声明一个变量,其作用域是A、for循环所在的代码块B、整个for循环C、for循环后的所有部分D、全部代码29、for循环的循环次数A、是确定的B、不是确定的C、通常是确定的,但也可以不确定D、通常不确定,但也可以确定30、对for循环中初始化、终止和迭代部分的描绘错误的选项是A、都可以为空语句B、之间的分号不能省略C、可以部分为空语句D、可以用逗号彼此分隔31、break语句可以用在switch语句中,执行后A、跳出所在的case子句,执行下一条case子句B、跳出所在的case子句,执行最后的default子句C、跳出整个switch子句D、以上说法都不对32、break语句可以在循环语句中执行,执行后A、跳出本次循环,继续进展下次循环B、跳出循环,从紧跟循环的第一条语句执行C、跳出循环,从循环条件处执行D、跳出本次循环,到指定处运行33、执行continue语句后A、跳出整个循环B、跳过循环体中下面的语句,继续下次循环C、下次循环前不需要判断终止条件D、以上说法不对34、以下说法错误的选项是A、Java是面向对象的语言B、Java以类为程序的根本单位C、类就是对象D、在Java语言中,类是具有某种功能的根本模块的描绘35、Java程序构造中,源文件的主文件名与程序公共类名〔〕A、开头字母必须大写B、可以不同C、必须一样D、以上说法都不对36、Java语言中,byte类型在内存中所占的位数为A、8B、16C、32D、6437、long类型存储时占()位bit。
Java基础if ~switch练习及答案

public class homework{
public static void main(String[] args){
int HD=3;
if(HD<5){
System.out.println("留下享用!");
public static void main(String[] args){
int sorce=70;
if(sorce==100){
System.out.println("满分!爸,买车!");
}else if(sorce>90){
switch(sum){
case 1: System.out.println("拨给t.println("拨给老妈");break;
case 3: System.out.println("拨给爷爷");break;
}else{
System.out.println("No");
}
}
}
4、输入赵本山的考试成绩,显示所获奖励
成绩:100分,爸爸给他买辆车
成绩大于90分,妈妈给他买MP4
90分>成绩>=60分,妈妈给他买本参考书
成绩<60分,什么都不买
public class homework{
public static void main(String[] args){
int y=1997;
int y1=y%4;
int y2=y%400;
if(y1==0||y2==0){
精编JAVASE综合模拟考试188题(含标准答案)

2020年JAVASE综合考试试题库188题[含答案]一、选择题1.以下哪些语句用于创建一个Map实例?答案: DA.Map m = new Map();B.Map m = new Map(init capacity,increment capacity);C.Map m = new Map(new Collection());D.以上都不对2."给出以下代码,请问在程序的第6行插入那条语句,改程序可依次打印输出11、10、9?1.public class Example {2. public static void main(String[] args) {3. double x[] = { 10.2, 9.1, 8.7 };4. int i[] = new int[3];5. for (int a = 0; a < x.length; a++) {6.7. System.out.println(i[a]);8. }9. }10.}"答案:CA.i[1] = ((int)Math.min(x[a]));B.i[1] = ((int)Math.max(x[a]));C.i[1] = ((int)Math.ceil(x[a]));D.i[1] = ((int)Math.floor(x[a]));3."以下代码执行结果是?public class Example {public static void main(String[] args) {System.out.println(Math.min(Float.NaN, Float.POSITIVE_INFINITY));}}"答案:AA.输出NaNB.打印输出InfinityC.运行时异常,因为NaN不是有效的参数D.运行时异常,因为Infinity不是有效的参数4.以下哪些是Collection接口的子接口?答案:BDA.DictionaryB.ListC.MapD.Set5.以下哪些有关Vector类的描述是正确的?答案:CA.该类是个public类B.该类是个final类C.该类实现了List接口D.该类可以序列化6.以下哪些集合接口支持重复元素存在?答案:BA.CollectionB.ListC.MapD.Set7.欲构造ArrayList类继承了List接口,下列哪个方法是正确的?答案:BA.ArrayList myList=new Object()B. List myList=new ArrayList()C.ArrayList myList=new List()D.List myList=new List()8.创建一个只能存放String的泛型ArrayList的语句是哪项?答案:BA.ArrayList<int> al = new ArrayList<int>();B.ArrayList<String> al = new ArrayList<String>();C.ArrayList al = new ArrayList<String>();D.ArrayList<String> al = new List<String>();9."下列代码执行后的输出是哪项?public class Example {public static void main(String[] args) {List<String> al = new ArrayList<String>();al.add(""1"");al.add(""2"");al.add(""2"");al.add(""3"");System.out.println(al);}}"答案:A.[1,2,3]B.[1,2,3,3]C.[1,2,2,3]D.[2,1,3,2]10."现有:list是一个合法的集合引用getCollection()返回一个合法集合的引用,以下语句哪些是合法的?" 答案:CA.for(Object o : list)B.for(Object o : getCollection())C.for(Object o : list.iterator())D.for(Iterator I;list.iterator();i.hasNext())11.构造方法可以使用哪个访问权限修饰符?答案:AA.publicB.protectedC.privateD.都可以12."现有:public class Example {public static void main(String[] args) {TreeSet<String> s = new TreeSet<String>();s.add(""one"");s.add(""two"");// 插入代码处for (String s2 : sorted) {System.out.print(s2 + "" "");}}}和四个代码片段:s1:SortedSet sorted = s.tailSet(s.first());s2:SortedSet<String> sorted = s.tailSet(s.first());s3:SortedSet sorted = (SortedSet)s.tailSet(s.first());s4:SortedSet sorted = (SortSet<String>)s.tailSet(s.first());分别插入到插入代码处,哪项可以编译?"答案:A.S2B.S2和S3C.S2和S4D.S2、S3和S413.以下哪个方法用于计算平方根?答案:BA.squareRoot()B.sqrt()C.root()D.sqr()14."以下代码执行结果是?public class Example {public static void main(String[] args) {TreeMap<String, String> map = new TreeMap<String, String>(); map.put(""one"", ""1"");map.put(""two"", ""2"");map.put(""three"", ""3"");displayMap(map);}static void displayMap(TreeMap map) {Collection<String> c = map.entrySet();Iterator<String> i = c.iterator();while (i.hasNext()) {Object o = i.next();System.out.print(o.toString());}}}"答案:A.onetwothreeB.123C.one=1three=3two=2D.onethreetwo15."现有:public class Example {public static void main(String[] args) {//插入代码处c.put(""X"", 123);}}下列哪些插入到插入代码处能够正常编译?"答案:A.Map c = new SortedMap();B.HashMap c = new HashMap();C.SortedMap c = new TreeMap();D.Map c = new LinkedHashMap();16."以下代码的执行结果是?public class Example {public static void main(String[] args) {File f = new File(""c:\\large.txt"");}}"答案:rge.txt文件在本地硬盘上被创建B.在Unix系统上运行失败,因为路径分割符不正确rge.txt文件在本地硬盘上没有被创建D.如果large.txt文件已经存在,则一个异常被抛出17.以下说法正确的是()答案:A.RandomAccessFile类是File类的子类B.FileWriter类提供有操作基本数据类型的方法C.RandomAccessFile类提供有删除磁盘文件的方法D.File类提供有删除磁盘文件的方法18."现有:f是一个File类实例的合法引用fr是一个FileReader类实例的合法引用br是一个BufferedReader类实例的合法引用如下代码:String line = null;//插入代码处System.out.println(line);}哪一行代码插入到插入代码处将循环一次输出文本文件的一行?" 答案:A.while((line = f.read())!=null){B.while((line = fr.read())!=null){C.while((line = br.read())!=null){D.while((line = br.readLine())!=null){19.现有int x = reader.read(),下列哪一项正确?答案:A.reader不是FileReader或者BufferedReader类型B.reader可以使FileReader或者BufferedReaderC.reader可以使FileReader类型,但不能使BufferedReader类型D.reader可以使BufferedReader类型,但不能使FileReader类型20."现有:String s = ""write a line to a file"";w.print(s + ""\n"");哪一个是对的?"答案:A.w既可以是PrintWriter类型,也可以是BufferedWriter类型B.w既不可以是PrintWriter类型,也不可以是BufferedWriter类型C.w可以是PrintWriter类型,但不可以是BufferedWriter类型D.w既可以是BufferedWriter类型,也可以是PrintWriter类型21.以下哪些描述是正确的?答案:A.InputStream和OutputStream类是基于字节流的B.ObjectInputStream类和ObjectOutputStream类不支持序列化的对象C.Reader和Writer是基于字符流的D.Reader类和Writer类是支持对象序列化的首选22.关于try…catch…finally结构,描述正确的是些?答案:ACA.可以有多个catchB.只能有一个catchC.可以没有catchD.finally必须有23."以下代码的执行结果是?public class Example {public static void main(String[] args) {TreeSet<String> t = new TreeSet<String>();if (t.add(""one""))if (t.add(""two""))if (t.add(""three""))t.add(""four"");for (String s : t) {System.out.print(s);}}}"答案:DA.oneB.onethreetwoC.onetwothreefourD.fouronethreetwo24."给出以下代码:class Example {public static void main(String[] args) throws IOException {try {methodA();} catch (IOException e) {System.out.println(""caught IOException"");}catch (Exception e) {System.out.println(""caught Exception"");}}}如果methodA()方法抛出一个IOException异常,则该程序的运行结果是什么?" 答案:A.无内容输出B.代码编译失败C.输出caught IOExceptionD.输出caught Exception25.以下哪些方法在Class类中定义?答案:A.getConstructors()B.getPrivateMethods()C.getDeclaredFields()D.getImports()26."现有如下代码:public class Example {public static void main(String[] args) {try {int x=Integer.parseInt(""42a"");//插入代码处System.out.println(""oops"");}}}在插入代码处插入哪些语句可以在运行后输出oops?"答案:CA. } catch (IllegalArgumentException e) { (非法参数异常)B.} catch (IllegalStateException c) {C. } catch (NumbelFormatException n) {D.} catch (ClassCastException c) {27.以下哪些是catch语句能够捕获处理的异常?答案:ACA.ThrowableB.ErrorC.ExceptionD.String28.以下哪些描述是正确的?答案:CDA.try语句块后必须至少存在一个catch语句块B.try语句块后可以存在不限数量的finally语句块C.try语句块后必须至少存在一个catch语句块或finally语句块D.如果catch和finally语句块同时存在,则catch语句块必须位于finally语句块前29."请问以下代码的直接执行结果是?class Example{public static void main(String[] args) {try {System.out.println(args[0]);System.out.println(""I'm nomal"");if (true)return;} catch (Exception ex) {System.out.println(""I'm exception"");if (true)return;} finally {System.out.println(""I'm finally."");}System.out.println(""Out of try."");}}"答案:AA."I'm exceptionI'm finally."B.代码不能编译通过,因为最后一条语句位于return后,不可到达C.代码编译通过,但运行时输出异常信息D."I'm nomalI'm finally."30."现有代码如下:public class Example {void topGo() {try {middleGo();} catch (Exception e) {System.out.println(""catch"");}}void middleGo() throws Exception {go();System.out.println(""late middle"");}void go() throws Exception {throw new Exception();}public static void main(String[] args) {Example example = new Example();example.topGo();}}该代码的执行结果是?"答案:BA.输出late middleB.输出catchC.输出late middle catchD.输出catch late middle31."如下代码执行后的输出结果是?public class Example {public static void main(String[] args) {try {throw new Exception();} catch (Exception e) {try {throw new Exception();} catch (Exception e2) {System.out.println(""inner"");}System.out.println(""middle"");}System.out.println(""out"");}}"答案:DA.inner outerB.middle outerC.inner middle outerD.编译失败32."现有如下代码:public class Example {public static void main(String[] args) {// a new Example().topGo();}void topGo() {// bmiddleGo();}void middleGo() {// cgo();System.out.println(""late middle"");}void go() {// dthrow new Exception();}}为了使代码能够编译通过,需要在哪个地方加入声明throws Exception?" 答案:BA.dB.c和dC.b、c和dD.a、b、c和d33."下面代码的执行结果是?class Example extends Utils {public static void main(String[] args) {try {System.out.print(new Example().getlnt(""42""));} catch (Exception e) {System.out.println(""Exc"");}}int getlnt(String arg) throws Exception {return Integer.parseInt(arg);}}class Utils {int getlnt() {return 42;}}"答案:BA.NFExcB.42C.42NFExcD.编译失败34."以下代码的运行结果是什么?public class Example {public static void main(String[] args) {double d1 = -0.5;System.out.println(""Ceil d1="" + Math.ceil(d1));System.out.println(""Floor d1="" + Math.floor(d1));}}"答案:BA.输出Ceil d1=-0.0 Floor d1=-1.0B.输出Ceil d1=0.0 Floor d1=-1.0C.输出Ceil d1=-0.0 Floor d1=-0.0D.输出Ceil d1=0.0 Floor d1=0.035."关于以下代码,说法正确的是?class Example{public static void main(String[] args) throws IOException {if (args[0] == ""hello"") {throw new IOException();}}}"答案:AA.代码编译成功B.代码编译失败,因为main()方法是入口方法,不能抛出异常C.代码编译失败,因为IOException异常是系统异常,不能由应用程序抛出D.代码编译失败,因为字符串应该用equals方法判定一致性36."以下代码的输出结果是什么?public class Example {public static void main(String[] args) {System.out.println(Math.round(Float.MAX_V ALUE));}}"答案:BA.输出Integer.MAX_V ALUEB.输出一个最接近Float.MAX_V ALUE的整数C.编译失败D.运行时输出异常信息37."给出以下代码,执行结果是?class Example {public static void main(String[] args) throws IOException {aMethod();}static void aMethod(){try {System.out.println(""Try"");return;} catch (Exception e) {System.out.println(""Catch"");}finally{System.out.println(""Finally"");}}}"答案:A.代码编译成功,但运行期间抛出异常B.代码便以失败,因为return语句错误C.输出Try和FinallyD.输出Try38."以下代码中,如果test()方法抛出一个NullPointException异常时,打印输出什么内容?class Example {public static void main(String[] args) throws IOException {try {test();System.out.println(""Message1"");} catch (ArrayIndexOutOfBoundsException e) {System.out.println(""Message2"");}finally{System.out.println(""Message3"");}}}"答案:A.打印输出Message1B.打印输出Message2C.打印输出Message3D.以上都不对39."以下代码执行结果是?public abstract class Example extends Base {public abstract void method();}class Base {public Base() throws IOException {throw new IOException();}}"答案:A.代码编译失败,因为非抽象类不能被扩展为抽象类B.代码编译失败,因为必须提供一个可以抛出或可以不抛出IOException异常的构造器C.代码编译失败,以in为必须提供一个可以抛出IOException异常或其子类的构造器D.代码编译成功40."现有如下代码:public class Example {public static void main(String[] args) {try {System.out.println(""before"");doRisyThing();System.out.println(""after"");} catch (Exception e) {System.out.println(""catch"");}System.out.println(""done"");}public static void doRisyThing() throws Exception{//this code returns unless it throws an Exception}}该代码可能的执行结果有哪些?"答案:A.before catchB.before after doneC.before catch doneD.before after catch41."下列代码的执行结果是?class Example {private void method1() throws Exception {throw new RuntimeException();}public void method2() {try {method1();} catch (RuntimeException e) {System.out.println(""Caught Runtime Exception"");} catch (Exception e) {System.out.println(""Caught Exception"");}}public static void main(String[] args) throws IOException { Example a = new Example();a.method2();}}"答案:A.代码编译失败B.输出Caught Runtime ExceptionC.输出Caught ExceptionD.输出Caught Runtime Exception和Caught Exception42."以下代码的输出结果是什么?选择所有的正确答案。
8、switch和case,try和 catch和finally题

●总结1、在try-catch-finally中,有了try后,catch和finally只有其中之一也可以;2、在try-catch-finally中,当出现异常时,程序执行了finally块后跳出程序(有finally块的话),不再执行下面语句(包括下面包含有的catch块—下面有例子),当在catch块中遇到System.out.exit();,则跳出程序,连finally块也不执行;3、switch的判断的条件必须是一个byte、short、int、char型值;4、case中如果没有break语句则将无判断继续执行其它case (下面有例子);如果没有任何值符合case列出的判断,则执行default的语句,default是可选的,如果没有default 而又没有任何值匹配case中列出的值则switch不执行任何语句。
●62. public class SwitchTest{public static void main(String[] args){3) System.out.println("value="+switchIt(4));}public static int switchIt(int x){int j=1;switch(x){case 1: j++;case 2: j++;case 3: j++;case 4: j++; //开始j=2;case 5: j++; //j=3default: j++; //j=4}return j+x; //等于4+4=8}}what is the output from line 3?A. value=3B. value=4C. value=5D. value=6E. value=7F. value=8答案:F●public class Foo{public static void main(String args[]){try{return;}finally{ System.out.println("Finally");}}}what is the result?A. print out nothingB. print out "Finally"C. compile error答案:B问题:他这里没有catch{}语句不会编译错误吗?回答:catch和finally有其中之一就可以。
Java 设计模式练习题及答案

Java 设计模式练习题及答案在学习Java设计模式时,练习题是非常重要的一部分。
通过练习题的实践,可以更好地理解和应用设计模式,提升自己的编程能力。
本文将介绍一些Java设计模式练习题,并提供相应的答案,希望能对读者在设计模式的学习和实践中有所帮助。
一、题目一:单例模式——懒汉式实现问题描述:请编写一个线程安全的懒汉式单例模式。
解答示例:```javapublic class Singleton {private static Singleton instance;private Singleton() {}public static synchronized Singleton getInstance() {if (instance == null) {instance = new Singleton();}return instance;}}```二、题目二:工厂模式——简单工厂实现问题描述:请使用简单工厂模式实现一个计算器,支持加减乘除四种运算。
解答示例:```javapublic class CalculatorFactory {public static Calculator createCalculator(String operator) {Calculator calculator = null;switch (operator) {case "+":calculator = new AddCalculator();break;case "-":calculator = new SubtractCalculator();break;case "*":calculator = new MultiplyCalculator();break;case "/":calculator = new DivideCalculator();break;}return calculator;}}public interface Calculator {double calculate(double num1, double num2);}public class AddCalculator implements Calculator {@Overridepublic double calculate(double num1, double num2) { return num1 + num2;}}public class SubtractCalculator implements Calculator { @Overridepublic double calculate(double num1, double num2) {return num1 - num2;}}// MultiplyCalculator和DivideCalculator类似,省略代码// 使用示例Calculator calculator = CalculatorFactory.createCalculator("+");double result = calculator.calculate(2, 3); // 结果为5```三、题目三:观察者模式问题描述:请设计一个简单的气象站系统,该系统需要实现以下功能:1. 可以添加观察者并实时更新气象数据;2. 当气象数据发生变化时,自动通知所有观察者进行更新。
java switch用法

java switch用法switch-case选择结构基本语法语法格式:switch(表达式){case常量值1:语句块1;//break;case常量值2:语句块2;//break;// ...[default:语句块n+1;break;]}执行流程图:执行过程:第1步:根据switch中表达式的值,依次匹配各个case。
如果表达式的值等于某个case中的常量值,则执行对应case中的执行语句。
第2步:执行完此case的执行语句以后,情况1:如果遇到break,则执行break并跳出当前的switch-case结构情况2:如果没有遇到break,则会继续执行当前case之后的其它case中的执行语句。
--->case穿透...直到遇到break关键字或执行完所有的case及default的执行语句,跳出当前的switch-case结构使用注意点:•switch(表达式)中表达式的值必须是下述几种类型之一:byte,short,char,int,枚举 (jdk 5.0),String (jdk 7.0);•case子句中的值必须是常量,不能是变量名或不确定的表达式值或范围;•同一个switch语句,所有case子句中的常量值互不相同;•break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾;•default子句是可选的。
同时,位置也是灵活的。
当没有匹配的case时,执行default语句。
应用举例案例1:public class SwitchCaseTest1 {public static void main(String args[]){int num =1;switch(num){case0:System.out.println("zero");break;case1:System.out.println("one");break;case2:System.out.println("two");break;case3:System.out.println("three");break;default:System.out.println("other");//break;}}}案例2:public class SwitchCaseTest2 {public static void main(String args[]){String season ="summer";switch(season){case"spring":System.out.println("春暖花开");break;case"summer":System.out.println("夏日炎炎");break;case"autumn":System.out.println("秋高气爽");break;case"winter":System.out.println("冬雪皑皑");break;default:System.out.println("季节输入有误");break;}}}错误举例:int key =10;switch(key){case key >0:System.out.println("正数");break;case key <0:System.out.println("负数");break;default:System.out.println("零");break;}案例3:使用switch-case实现:对学生成绩大于60分的,输出“合格”。
java关于switch-case的练习题

矿产资源开发利用方案编写内容要求及审查大纲
矿产资源开发利用方案编写内容要求及《矿产资源开发利用方案》审查大纲一、概述
㈠矿区位置、隶属关系和企业性质。
如为改扩建矿山, 应说明矿山现状、
特点及存在的主要问题。
㈡编制依据
(1简述项目前期工作进展情况及与有关方面对项目的意向性协议情况。
(2 列出开发利用方案编制所依据的主要基础性资料的名称。
如经储量管理部门认定的矿区地质勘探报告、选矿试验报告、加工利用试验报告、工程地质初评资料、矿区水文资料和供水资料等。
对改、扩建矿山应有生产实际资料, 如矿山总平面现状图、矿床开拓系统图、采场现状图和主要采选设备清单等。
二、矿产品需求现状和预测
㈠该矿产在国内需求情况和市场供应情况
1、矿产品现状及加工利用趋向。
2、国内近、远期的需求量及主要销向预测。
㈡产品价格分析
1、国内矿产品价格现状。
2、矿产品价格稳定性及变化趋势。
三、矿产资源概况
㈠矿区总体概况
1、矿区总体规划情况。
2、矿区矿产资源概况。
3、该设计与矿区总体开发的关系。
㈡该设计项目的资源概况
1、矿床地质及构造特征。
2、矿床开采技术条件及水文地质条件。
JavaScript知识点:分支结构(if、switch)+算法例题

JavaScript知识点:分⽀结构(if、switch)+算法例题if-else分⽀1.if条件应该是boolean类型的值或表达式2.如果条件不是Boolean,会进⾏⾃动转换以下⼏种情况会默认转换为 false:if(0)、if(0.0)if(NaN)、if(undefined)if("")、if(null)if(false)switch-case执⾏流程:1.解析变量或表达式中的值2.⽤解析出来的值与case后的值进⾏⽐较等值运⾏代码块3.如果值不相等,就执⾏default:后的代码块switch直落模式:两个或多个case之间没有任何操作代码,表⽰这两个或多个块要执⾏同样的代码块,如:switch(变量/表达式){case 值1:case 值2:case 值3:语句块;break;default:语句块;break;}以下是⼀些算法题的代码:(执⾏时需要改变函数的函数名调⽤每⼀个例题函数执⾏)1 <!DOCTYPE html>2 <html lang="en">3 <head>4 <meta charset="UTF-8">5 <title>分⽀结构</title>6 </head>7 <body>8 <!-- 编写⼀个收银程序,根据商品的单价、购买的数量以及收款⾦额计算并输出应收⾦额和找零 -->9 <script type="text/javascript">10function getMoney(){11// 定义输⼊变量:商品单价price、购买的的数量count、12// 收款⾦额money13var price,cont,money;14//定义输出变量:消费⾦额sumPrice、找零coins15var sumPrice,coins;16// 弹框接受输⼊的值:单价、数量17 price = prompt("请输⼊商品单价:");18 count = prompt("请输⼊商品数量:");19// 计算商品总价20 sumPrice = price*count;21// 判断是否打折22if(sumPrice>=500){23 sumPrice *=0.8;24 alert("您消费到达500,享受8折优惠!");25 }26 alert("您共消费:"+sumPrice+"元");27// 接受付款⾦额28 money = prompt("请付钱:");29//判断付款⾦额是否⼤于消费⾦额30if(money >= sumPrice){31// 计算找零32 count = money - sumPrice;33 alert("找您:"+count);34 }35else36 alert("钱不够!");3738 }39 getMoney();//函数调⽤⼝40 </script>41 <script type="text/javascript">42//1. 通过弹框输⼊年⽉⽇,判断该⽇是这⼀年的第多少天?43function ymd(){44// 定义输⼊变量45var year = prompt("请输⼊年份:");46var month = prompt("请输⼊⽉份:");47var date = prompt("请输⼊⽇期:");48// 通过⽉份判断49switch(Number(month)){50case 1:month =0;break;51case 2:month=31;break;52case 3:month=59;break;53case 4:month=90;break;54case 5:month=120;break;55case 6:month=151;break;56case 7:month=181;break;57case 8:month=212;break;58case 9:month=243;break;59case 10:month=273;break;60case 11:month=304;break;61case 12:month=334;break;62 }63 date=month + Number(date);64// 判断输⼊年份是否是闰年65if((year%4==0 && year%100!=0) || year%400==0){66if(month>=2)67 date +=1;68 }69 console.log("今天是今年的第:"+date+"天");70 }71// 2.模拟电话银⾏按键程序72function bank(){73// 通过switch选择系统功能74var press = prompt("请输⼊数字选择功能(1.查询余额2.取款3.转换4.退出系统):"); 75switch(Number(press)){76case 1:seek();break;77case 2:draw();break;78case 3:change();break;79case 4:exit();break;80 }81function seek(){82 console.log("余额查询中……");83 }84function draw(){85 console.log("取款进⾏中……");86 }87function change(){88 console.log("转账进⾏中……");89 }90function exit(){91 console.log("退出系统,谢谢使⽤!");92 }93 }94// 3.买保险95// 已婚都可以买96// 未婚男<25不买97// 未婚⼥<22不买98function insure(){99// 弹框接受员⼯信息:婚否、性别、年龄100var isMarry = prompt("是否已婚(Y|N):");101var sex = prompt("请输⼊性别(M|W):");102var age = prompt("请输⼊年龄:");103if(isMarry=="Y"){104 console.log("公司为您提供保险!");105 }else if ((sex=="M" &&age<25)||(sex=="W" && age<22)) {106 console.log("不满⾜公司提供保险条件!");107 }else{108 console.log("满⾜公司提供保险条件!");109 }110 }111// 4.某超市促销活动112// 会员总价>100 ⼋折 <100 9折113// ⾮会员>100 九折 <100 不打折114function superMk(){115//弹框询问是否是会员(0|1)116//弹框询问商品总价格117//定义变量:是否会员isVIP、价格price118var isVIP = prompt("是否是会员(0|1):");119var price = prompt("商品总价格为:");120// 判断是否是会员121if(isVIP==1){122if(price>100){123 price = price *0.8;124 console.log("您是会员且购买⾦额超过100可以打⼋折");125126 }else{127 price = price * 0.9;128 console.log("您是会员可以打九折!");129 }130 }else if(price>100){131 console.log("您购买⾦额超过100可以打九折!");132 price = price *0.9;133 }134 console.log("您需要付款:"+price+"元");135 }136// 5.计算1-100之间的和、乘积137function sumPro(){138var sum=0,product = 1;139for(var i=1;i<=100;i++){140 sum += i;141 product *= i;142 }143 console.log("和为:"+sum,"乘积为:"+product); 144 }145// 6.九九乘法表146// 1*1=1147// 1*1=1 1*2=2148function multTable(){149for (var i = 1; i <= 9; i++) {150for (var j = 1; j <=i; j++) {151var mult = i*j;152 document.write(j + "*" + i + "=" + mult); 153154 }155 document.write("<br/>")156 }157 }158 multTable();//函数调⽤⼝159160 </script>161 </body>162 </html>。
《面向对象程序设计(Java)》综合练习题

《面向对象程序设计(Java)》综合练习题一、判断题1、Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。
2、对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。
3、有的类定义时可以不定义构造函数,所以构造函数不是必需的。
4、类及其属性、方法可以同时有一个以上的修饰符来修饰。
5、Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点.6、抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。
7、final类中的属性和方法都必须被final修饰符修饰。
8、最终类不能派生子类,最终方法不能被覆盖。
9、子类要调用父类的方法,必须使用super关键字。
10、一个Java类可以有多个父类。
11、创建新的类对象用new,回收无用的类对象用free。
12、虽然有的类定义时可不定义构造函数,但构造函数是必需的。
13、Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。
14、final类中的属性和方法都必须被final修饰符修饰。
15、子类要调用父类的方法,不必用super关键字。
16、如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p是正确的。
17、当一个方法在运行过程中产生一个异常,则这个方法会终止,但整个程序不一定终止运行。
18、用+可以实现字符串的拼接,用-可以从一个字符串中去除一个字符子串。
19、设String对象s=”Hello”,运行语句System.out.println(s.concat(“w orld!”));后String对象s的内容为”Hello world!”,所以语句输出为:Hello world!20、一个容器中可以混合使用多种布局策略。
参考答案:1、×2、×3、×4、√5、×6、×7、×8、√9、×10、×11、×12、√13、×14、×15、√16、×17、√18、×19、×20、√二、单选题1、关于被私有访问控制符private修饰的成员变量,以下说法正确的是()A、可被三种类引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B、只能被该类自身所访问和修改C、只能被同一个包中的类访问D、可被两种类访问和引用:该类本身、该类的所有子类2、下列关于修饰符混用的说法,错误的是()A、static方法中能处理非static的属性B、abstract方法必须在abstract类中C、abstract类中不可以有private的成员D、abstract不能与final并列修饰同一个类3、容器Panel和Applet缺省使用的布局编辑策略是()A、BorderLayoutB、FlowLayoutC、GridLayoutD、CardLayout4、main方法是Application的入口点,以下main方法的方法头合法的是()A、public static void main( )B、public static int main(String[ ] args)C、public static void main(String[ ] arg)D、public void main(String arg[ ])5、以下代码段执行后的输出结果为()int x=3; int y=10; System.out.println(y%x);A、0B、1C、2D、36、编译运行以下程序后,关于输出结果的说明正确的是()public class Conditional{public static void main(String args[ ]){int x=4;System.out.println(“value is “+ ((x>4) ? 99.9 : 9));}}A、输出结果为:value is 99.99B、输出结果为:value is 9C、输出结果为:value is 9.0D、编译错误7、以下声明合法的是()A、public final static native int w( );B、default String s;C、abstract final double hyperbolicCosine( );D、abstract double d;8、关于以下程序代码的说明正确的是()1.class HasStatic{2.private static int x=100;3.public static void main(String args[ ]){4.HasStatic hs1=new HasStatic( );5.hs1.x++;6.HasStatic hs2=new HasStatic( );7.hs2.x++;8.hs1=new HasStatic( );9.hs1.x++;10.HasStatic.x- -;11.System.out.println(“x=”+x);12.}13.}A、5行不能通过编译,因为引用了私有静态变量B、10行不能通过编译,因为x是私有静态变量C、程序通过编译,输出结果为:x=102D、程序通过编译,输出结果为:x=1039、类Test1定义如下:1.public class Test1{2.public float aMethod(float a,float b){ }3.4.}将以下哪种方法插入行3是不合法的()A、public float aMethod (float a,float b,float c) { }B、p ublic float aMethod (float c,float d) { }C、p ublic int aMethod (int a,int b) { }D、private float aMethod (int a,int b,int c) { }10、关于以下程序段,正确的说法是()1.String s1=”abc” + ”def”;2.String s2=new String(s1);3.if (s1= =s2)4.System.out.print ln(“== succeeded”);5.if (s1.equals(s2))6.System.out.println(“.equals() succeeded”);A、行4与行6都将执行B、行4执行,行6不执行C、行6执行,行4不执行D、行4、行6都不执行11、被私有保护访问控制符private protected修饰的成员变量,以下说法正确的是()A.可被三种类引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B.可被两种类访问和引用:该类本身、该类的所有子类C.只能被该类自身所访问和修改D.只能被同一个包中的类访问12、以下标识符中哪项是不合法的()A、BigMeaninglessNameB、$intC、3kuD、$113、执行完以下代码int [ ] x = new int[25];以下哪项说明是正确的()A、x[24]为0B、x[24]未定义C、x[25]为0D、x[0]为空14、以下哪个表达式是不合法的()A、String x=”Hello”; int y=9; x+=y;B、String x=”Hello”; int y=9; if(x= =y) { }C、String x=”Hello”; int y=9; x=x+y;D、String x=null; int y=(x!=null)&&(x.length>0) ? x.length : 015、一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可不相同。
JAVA语言基础_复习题_FXT252243_1112

矿产资源开发利用方案编写内容要求及审查大纲
矿产资源开发利用方案编写内容要求及《矿产资源开发利用方案》审查大纲一、概述
㈠矿区位置、隶属关系和企业性质。
如为改扩建矿山, 应说明矿山现状、
特点及存在的主要问题。
㈡编制依据
(1简述项目前期工作进展情况及与有关方面对项目的意向性协议情况。
(2 列出开发利用方案编制所依据的主要基础性资料的名称。
如经储量管理部门认定的矿区地质勘探报告、选矿试验报告、加工利用试验报告、工程地质初评资料、矿区水文资料和供水资料等。
对改、扩建矿山应有生产实际资料, 如矿山总平面现状图、矿床开拓系统图、采场现状图和主要采选设备清单等。
二、矿产品需求现状和预测
㈠该矿产在国内需求情况和市场供应情况
1、矿产品现状及加工利用趋向。
2、国内近、远期的需求量及主要销向预测。
㈡产品价格分析
1、国内矿产品价格现状。
2、矿产品价格稳定性及变化趋势。
三、矿产资源概况
㈠矿区总体概况
1、矿区总体规划情况。
2、矿区矿产资源概况。
3、该设计与矿区总体开发的关系。
㈡该设计项目的资源概况
1、矿床地质及构造特征。
2、矿床开采技术条件及水文地质条件。
switchjava语言练习题

switchjava语言练习题switch Java语言练习题首先,让我们来了解一下Java语言中的switch语句。
switch语句允许根据不同条件执行不同的代码块。
它通常用于对于一个变量的不同取值进行判断,然后执行相应的代码。
现在,让我们通过一些练习题来加深对switch语句的理解和应用。
题目一:写一个Java程序,使用switch语句判断一个人的星座。
```javaimport java.util.Scanner;public class ZodiacSign {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入出生的月份(1-12):");int month = scanner.nextInt();System.out.print("请输入出生的日期(1-31):");int day = scanner.nextInt();String zodiacSign;switch (month) {case 1:if (day >= 20) {zodiacSign = "水瓶座"; } else {zodiacSign = "摩羯座"; }break;case 2:if (day >= 19) {zodiacSign = "双鱼座"; } else {zodiacSign = "水瓶座"; }break;case 3:if (day >= 21) {zodiacSign = "白羊座"; } else {}break;case 4:if (day >= 20) {zodiacSign = "金牛座"; } else {zodiacSign = "白羊座"; }break;case 5:if (day >= 21) {zodiacSign = "双子座"; } else {zodiacSign = "金牛座"; }break;case 6:if (day >= 22) {} else {zodiacSign = "双子座"; }break;case 7:if (day >= 23) {zodiacSign = "狮子座"; } else {zodiacSign = "巨蟹座"; }break;case 8:if (day >= 23) {zodiacSign = "处女座"; } else {zodiacSign = "狮子座"; }break;case 9:if (day >= 23) {zodiacSign = "天秤座"; } else {zodiacSign = "处女座"; }break;case 10:if (day >= 24) {zodiacSign = "天蝎座"; } else {zodiacSign = "天秤座"; }break;case 11:if (day >= 23) {zodiacSign = "射手座"; } else {zodiacSign = "天蝎座";}break;case 12:if (day >= 22) {zodiacSign = "摩羯座";} else {zodiacSign = "射手座";}break;default:zodiacSign = "输入的月份不合法";break;}System.out.println("您的星座是:" + zodiacSign); }}```题目二:写一个Java程序,使用switch语句将成绩转换为对应等级。
(1)java练习(基础)

一、单项选择题(总分60)1. (分值:1.1 分)自定义类型转换是由按优先关系从低级数据转换为高级数据,优先次序为()A: char-int-long-float-doubleB: int-long-float-double-charC: long-float-int-double-charD: 以上都不对2. (分值:1.1 分)在java 中,Integer.MAX_VALUE 表示A: 浮点类型最大值B: 整数类型最大值C: 长整型最大值D: 以上说法都不对3. (分值:1.1 分)JAVA 中,数据类型值中不可能出现的符号是()A: dB: fC: eD: /4. (分值:1.1 分)下列表示单引号的是()A: ‘B: \RC: \\\\’D: ‘\\5. (分值:1.1 分)下列不属于整型变量的类型是A: byteB: shortC: floatD: long6. (分值:1.1 分)int 类型整型变量在内存中的位数为A: 8B: 16C: 32D: 647. (分值:1.1 分)下列数据类型转换,必须进行强制类型转换的是A: byte→intB: short→longC: float→doubleD: int→char8. (分值:1.1 分)java 中,用()关键字定义常量A: finalB: #defineC: floatD: const9. (分值:1.1 分)下列属于条件运算符的是A: +C: &&D: >>10. (分值:1.1 分)已知i 为整形变量,关于一元运算++i 和i++,下列说法正确的是A: ++i 运算将出错B: 在任何情况下运行程序结果都一样C: 在任何情况下运行程序结果都不一样D: 在任何情况下变量i 的值都增111. (分值:1.1 分)在java 中语句:37.2%10 的运算结果为A: 7.2B: 7C: 3D: 0.212. (分值:1.1 分)在java 语句中,运算符&&实现A: 逻辑或B: 逻辑与C: 逻辑非D: 逻辑相等13. (分值:1.1 分)在java 语句中,位运算操作数只能为整型或()数据A: 实型B: 字符型C: 布尔型D: 字符串型14. (分值:1.1 分)00101010(|)00010111 语句的执行结果为A: 00000000B: 11111111C: 00111111D: 1100000015. (分值:1.1 分)~0010101 语句的执行结果为A: 1101010B: 0010101C: 11111111D: 0000000016. (分值:1.1 分)复合语句用()括起来的一段代码。
【Java面试题】1Java中使用switch-case的用法及注意事项超全总结

【Java⾯试题】1Java中使⽤switch-case的⽤法及注意事项超全总结今天在⽤到switch的时候,这种设计到最基本的内容,可能忘记它的⼀些基本语法,出现了⼀些错误,所以即兴从各种资料查询总结了下⾯的内容,希望可以帮助那些正在困扰switch错误和各种细节问题的朋友!1.switch-case注意事项:switch(A),括号中A的取值只能是整型或者可以转换为整型的数值类型,⽐如byte、short、int、char、还有枚举;需要强调的是:long和String类型是不能作⽤在switch语句上的。
case B:C;case是常量表达式,也就是说B的取值只能是常量(需要定义⼀个final型的常量,后⾯会详细介绍原因)或者int、byte、short、char(⽐如1、2、3、200000000000(注意了这是整型)),如果你需要在此处写⼀个表达式或者变量,那么就要加上单引号;case后的语句可以不⽤⼤括号,就是C不需要⽤⼤括号包裹着;default就是如果没有符合的case就执⾏它,default并不是必须的.2.案例分析:1.标准型(case后⾯都有break语句,case后的值都是整数)int i=3;switch(i){case 1:System.out.println(1);break;case 2:System.out.println(2);break;default:System.out.println("default");break;}2.常量型(case后⾯都有break语句,case后的值都是常量)private final int NUM1=1;private final int NUM2=1;int i=3;switch(i){case NUM1:System.out.println(1);break;case NUM2:System.out.println(2);break;default:System.out.println("default");break;}3.表达式型(case后⾯都有break语句,case后的值都是表达式)int i=3;int b = 2;switch(i){case '类名.getId()':System.out.println(1);break;case 'b'System.out.println(2);break;default:System.out.println("default");break;}3.使⽤switch时的出错分析:1).第⼆种情况容易出错的情况:发现问题private int CLICK_QUERY = 1;private int CLICK_RESET = 2;@Overridepublic void onClick(View v){int tag = (Integer) v.getTag();switch (tag){case CLICK_QUERY:query();break;case CLICK_RESET:reset();break;}}编译时⼀直报错:CLICK_QUERY 和CLICK_RESET——case expressions must be constant expressions解决问题case后⾯必须跟常量,必须要常量,将上⾯两个变量声明为final即可。
8、switch和case,try和 catch和finally题

●总结1、在try-catch-finally中,有了try后,catch和finally只有其中之一也可以;2、在try-catch-finally中,当出现异常时,程序执行了finally块后跳出程序(有finally块的话),不再执行下面语句(包括下面包含有的catch块—下面有例子),当在catch块中遇到System.out.exit();,则跳出程序,连finally块也不执行;3、switch的判断的条件必须是一个byte、short、int、char型值;4、case中如果没有break语句则将无判断继续执行其它case (下面有例子);如果没有任何值符合case列出的判断,则执行default的语句,default是可选的,如果没有default 而又没有任何值匹配case中列出的值则switch不执行任何语句。
●62. public class SwitchTest{public static void main(String[] args){3) System.out.println("value="+switchIt(4));}public static int switchIt(int x){int j=1;switch(x){case 1: j++;case 2: j++;case 3: j++;case 4: j++; //开始j=2;case 5: j++; //j=3default: j++; //j=4}return j+x; //等于4+4=8}}what is the output from line 3?A. value=3B. value=4C. value=5D. value=6E. value=7F. value=8答案:F●public class Foo{public static void main(String args[]){try{return;}finally{ System.out.println("Finally");}}}what is the result?A. print out nothingB. print out "Finally"C. compile error答案:B问题:他这里没有catch{}语句不会编译错误吗?回答:catch和finally有其中之一就可以。
Java应用开发技术相关的测试题及参考解答(第6部分)

8、请问,以下哪些是 catch 语句捕获的异常类型? A. Throwable B. Error C. Exception D. String
答案:ABC
9、请问,一个 try 结构必须有一个 catch 或一个 finally 语句块吗? A. 是 B. 否
答案:A
杨教授工作室,版权所有,盗版必究, 2/9 页
答案:C
12、请问,一个 try 结构是否需要至少存在一个 catch 语句块或一个 finally 语句块? A. 是 B. 否
答案:A
13、请问,break 语句是否用于结束当前循环返回循环起始处,接着开始一个新的循环? A. 是 B. 否
答案:B
14、请问,while 循环结构中的表达式值是否必须是一个布尔型? A. 是 B. 否
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
1.1 Java 应用开发技术相关的测试题及参考解答(第 6 部分)
1.1.1 单项选择题及参考答案
1、请问,以下哪些语句是 Java 语音中用于中断循环执行的? A. continue B. goto C. exit D. break
答案:D
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
10、请问,以下描述正确的是? A. try 语句块后必须存在一个 catch 语句块 B. try 语句块后可以存在不限熟练的 finally 块 C. try 语句块之后必须存在一个 catch 语句块或 finally 块 D. 如果 catch 和 finally 语句块同时存在,则 catch 语句块必须位于 finally 语句块前
答案:A
15、请问,while 循环结构是否执行条件检查前至少可获得一个执行?
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
矿产资源开发利用方案编写内容要求及审查大纲
矿产资源开发利用方案编写内容要求及《矿产资源开发利用方案》审查大纲一、概述
㈠矿区位置、隶属关系和企业性质。
如为改扩建矿山, 应说明矿山现状、
特点及存在的主要问题。
㈡编制依据
(1简述项目前期工作进展情况及与有关方面对项目的意向性协议情况。
(2 列出开发利用方案编制所依据的主要基础性资料的名称。
如经储量管理部门认定的矿区地质勘探报告、选矿试验报告、加工利用试验报告、工程地质初评资料、矿区水文资料和供水资料等。
对改、扩建矿山应有生产实际资料, 如矿山总平面现状图、矿床开拓系统图、采场现状图和主要采选设备清单等。
二、矿产品需求现状和预测
㈠该矿产在国内需求情况和市场供应情况
1、矿产品现状及加工利用趋向。
2、国内近、远期的需求量及主要销向预测。
㈡产品价格分析
1、国内矿产品价格现状。
2、矿产品价格稳定性及变化趋势。
三、矿产资源概况
㈠矿区总体概况
1、矿区总体规划情况。
2、矿区矿产资源概况。
3、该设计与矿区总体开发的关系。
㈡该设计项目的资源概况
1、矿床地质及构造特征。
2、矿床开采技术条件及水文地质条件。