Java入门基础3 循环语句 三种结构: 顺序结构 分支结构 循环结构

表达式 (Expression)

语句 :以分号结束

语句块


 

java中程序的三种结构:顺序结构     分支结构   循环结构

if(逻辑表达式,备注,和c不同,一定是逻辑结果){

条件为真时执行

}

else {

条件为假时执行

}

if(true)条件

switch(int类型|string类型| Enum类型)

case 条件1:

case 条件2:

break;

default;

}

注意:回车用%n 不用\n


循环结构:

while (条件){

//在Java中多了一种for的形势 foreach

//for(元素类型 变量名 :容量数组){

//}

}

for(初始化 ;条件;后续动作)

{

}

do{

}while (条件)

continue 和break 都支持带标签的形式

public static void fied () {

int [] array ={1,2,3,4,5,6,7};

for(int i=0;i

break;

}

}


方法组成:

  1. 限定符:
  2. 返回值类型,如果没有返回值,要明确写void
  3. 方法名称,命名习惯:收个单词全小写,以后的单词首字母大写,多为动词
  4. 参数列表            () | 参数类型 参数名称
  5. 异常声明    throw
  6. ** 方法体{}

public  static int caleSum(int[] array)  thows Exception{

                                 //下划线分别为1——6

}

 

重点:关于方法签名 (Method signature)

方法名称+参数列表

int sum(int a ,int b){}    void sum (int a, int b) {} 一样

int sum (int a,int b ,int c){}不一样

方法名称相同,但参数列表不同

重载 (overload)通常情况下,用不到重载,例外:重载在构造方法中很常见

要和 重写 区分


 

public class cation{
//计算n的位数,n一定为正数	
public static int calcDigitNum (long n) {
int  digitNum=0;
while (n>0)
{
	n=n/10;
	digitNum++;
}
return digitNum;
}

//pubilc stactic int factorial(int n)
public static void main (String[] args)
{
	//long n=Long.parseLong(long 
int m =calcDigitNum(1234);
System.out.printf("%d",m);
}
}

利用简单whlie循环判断位数

public class cation{
//计算n阶乘
public static int calcDigitNum1 (int n) {
if (n==1){
	return 1;
}
else {
	return n*calcDigitNum1(n-1);
}
}
public static long calcDigitNum2 (int n) {
	long fact=1;
for (int i=1;n>=i;i++)
{
	fact =fact*i;
}
return fact;
}
public static void main (String[] args)
{
long m =calcDigitNum1(5);
System.out.printf("%d",m);
long fact =calcDigitNum2(5);
System.out.printf("%d",fact);

}
}

 函数递归思想计算阶乘

当n=1时,n!=1

当n>1时,n!=n*(n-1)!

public class cation{
//计算e=1-1/1!+1/2!-…+1/n!

public static long factorial (int n){
//求阶乘1.递归 2.循环
if (n==1|n==0){
	return 1;
}
else {
	return n*factorial(n-1);
}
}
public static double calcE(int n) {
//加法
double sum =0.0;
int j=1;
for (int i=0;i

利用1.函数递归 (同上一个代码)   2.循环的方法 计算e=1-1/1!+1/2!-…+1/n!

public class cation{
//反转字符串

public static String reverse (String s){
	int length=s.length();
	String r="";
	for (int i=length-1 ;i>=0;i--)
	{
		char ch =s.charAt(i);
		r=r+ch;
	}
	return r;
}
public static String decToHex(int dec ) {
	//10进制变为16进制
	String hex ="";
	while (dec>=16)
	{
		int remainder =dec%16;
		dec=dec/16;
		if(remainder<10) {
			hex=hex+remainder;
		}
		else {
			char ch=(char )('A'+(remainder-10));
			hex=hex+ch;
		}
		
	}
	return reverse (hex);
}

public static void main (String[] args){
String message ="Hello";
String r=reverse (message);
System.out.printf(r);
//反转为“olleH"
System.out.printf(decToHex(212324));
}
}

 1.反转字符串例子:hello变为olleh  

2.将十进制数字转为16进制

原理:/16,%16

在Java中,递归没有任何特殊性

但是利用了数学归纳法的思想   

核心:要有局部性原则,不要在写递归时尝试展开递归过程

举例:汉诺塔游戏

你可能感兴趣的:(Java)