switch语句,case后值相对应,则输出每个后面的syso;如果输入的不是case后的值,则需要一个default,吧所有不符合的值输出一个syso。
. do-while语句和while的区别
**-
**
break直接跳出循环,所在的循环直接结束。
continue是在本次迭代中(本次循环中)结束本次迭代,并返回到判断语句,继续执行循环。
**
**
函数是具备特定功能的一段代码块,解决了重复性代码的问题。
目的是为了提高程序的复用性和可读性。
函数的参数传递
(1).形式参数:函数定义时的参数为形式参数------>简称形参
(2).实际参数:函数调用时的参数为实际参数 ------>简称实参
参数传递:只能有实参传给形参
注意:实参和形参在个数、顺序、类型上都要保持一致.
**
**
Math.sqrt(2.0); //对2开平方
Math.pow(9.0, 1.0/3.0); //对9开三次方,开其他次方依次类推
sqrt函数原型:
public static double sqrt(double a)
作用是返回正确舍入的double值的正平方根。
参数a的各种取值得到的结果:
1、如果参数是 NaN 或小于零,那么结果是 NaN。
2、如果参数是正无穷大,那么结果就是正无穷大。
3、如果参数是正零或负零,那么结果与参数相同。
否则,结果是最接近该参数值的真实数学平方根的 double 值。
pow函数原型
public static double pow(double a, double b)
作用是返回a的b次幂,详情请参考java api
outer:for(定义变量;布尔表达式;变量递变){
inner:for(定义变量;布尔表达式;变量递变){
循环语句;
}
} //这里就给外边的for循环命名为outer,内部的命名为inner
这样的好处就是break时,可以通过名称执行哪个for循环的终止跳出。
任何一个大于6的偶数都能被分解为两个质数的和,要求随 机输入一个大于6的偶数,打印它能被分解为哪两个质数的 和。
例如:8 = 3+5 、 12 = 7+5 、 18 = 11+7
public static void main(String[] args) {
int a=opp();
obb(a);
}
public static int opp(){
//输入数字并通过检验确定一个符合要求的数
Scanner sc=new Scanner(System.in);
System.out.println("请输入大于6的偶数:");
int num=sc.nextInt();
if(num%2!=0||num<=6){
System.out.println("输入错误,请重新输入大于6的偶数:");
return opp();//错误则返回inPut()继续输入
}
return num;//正确则返回num值
}
public static boolean zhi(int a){
for(int i=2;i<=Math.sqrt((double)a);i++){
if(a%i==0){ //判断是否是质数
return false;
}
}
return true;
}
public static void obb(int a){
for(int i = 2;i
数组
数组的遍历
不利用函数:
public static void main(String[] args) {
int[] a={1,2,3,4}; //定义一个数组a(这是已知数组)
int[] b=new int[8]; //定义一个新数组b,并给定长度(这是扩容的长度)
for(int i=0;i
利用函数:
第一种方法:
public static void main(String[] args) {
int[] a={1,2,3,4};
a=expand1(a);
for(int j=0;j
第二种方法:
public static void main(String[] args) {
int[] a={1,2,3,4};
a=expand2(a);
}
public static int[] expand2(int[]a){
int[] b=new int[a.length*2];
System.arraycopy(a, 0, b, 0, a.length); //调用一个系统函数,作用是将a数组从第0位开始复制到b数组第0位,
//一共复制a.length位
return b;
}
第三种方法:
public static void main(String[] args) {
int[] a={1,2,3,4};
a=expand3(a);
}
public static int[] expand3(int[]a){
return java.util.Arrays.copyOf(a, a.length*2);
//利用Array.copyOf 直接返回一个长度为a数组两倍的新数组
}
ps:第二和第三种方法需要注意jdk要在1.5版本以上