方法:是一段完成特定功能代码的片段。
格式: [修饰符1 修饰符2 ......]返回值类型 方法名(形式参数列表){
java语句;.......
}
形式参数:在方法被调用时用于接收外界输入的数据。
实参:调用方法时实际传给方法的数据。
返回值:在方法执行完毕后返回给调用它的环境数据
返回值类型:事先约定的返回值数据类型,若无返回值,则必须给void
java语言中使用调用方法:对象名.方法名(实参列表).
实参的数目,数据类型和次序必须和所调用的方法声明形式参数列表匹配
return 语句终止方法的运行并指定要返回类型
java中只有值传递
简单的读取键盘输入的字符串:
Scanner input =new Scanner(Systrm.in);
//String str =input.nextLine();
//String str =input.next();
int str=input.nextInt();
System.out.println(str);
顺序结构:
JAVA的基本结构就是顺序结构,除非特别指明,否则按顺序一句一句执行顺序结构的简单算法,语句与语句之间,框与框之间按从上到下的顺序执行,它是若干个依次执行的处理步骤组成。
if单结构:
double i=6*Math.random();//Math.random()产生一个0~1的随机数
double j=6*Math.random();//6*Math.random()产生 [0,5]
double k=6*Math.random();
iot count=(int)(i+j+j);
if(count>15){
System.out.printlan("运气不错");
}
if(count>=10&&count<=15){
System.out.printlan("运气一班");
}
System.out.println("得了"+count+"分");
if else 双选择结构:如果条件为true执行一个操作,为false执行另一个操作
若条件表达式为真,执行语句块1,否则,执行语句块2.
double r =4*Math.random();//产生随机数 [0,4]
double are=Math.PI*Math.pow(r,2);//Math中定义的PI值 Math.pow(r.2)也就是r的平方
double cir =2*Math.PI*r;
System.out.println("半径为:"+r);
System.out.println("面积为:"+are);
System.out.println("周长为:"+cir);
if(are>=cir){
System.out.println("面积大于周长");
}else{
System.out.println("周长大于面积");
}
if else if else 多选择结构
if(布尔表达式1){
语句块1;
}else if(布尔表达式2){
语句块2;
}else if(布尔表达式n){
语句块n;
}else{
语句块n+1;
}
public class IfTest3 {
public static void main(String[] args) {
int age = (int) (100 * Math.random());
System.out.print("年龄是" + age + ", 属于");
if (age < 15) {
System.out.println("儿童,");
} else if (age < 25) {
System.out.println("青年,");
} else if (age < 45) {
System.out.println("中年,");
} else if (age < 65) {
System.out.println("中老年,");
} else if (age < 85) {
System.out.println("老年,");
} else {
System.out.println("老寿星,");
}
}
}
switch多选择结构:根据表达式不同执行不同的操作
switch语句:case标签必须是整数或枚举,不能是字符串。
switch(表达式){//byte,int,char,short和枚举类型。
case 值1;//值1必须是常量
语句序列;
break;//每个语句都以break结尾
case 值2;
语句序列;
break;
...
default;//可有可无
默认语句;
}
switch语句会根据表达式的值匹配的case标签处开始执行,一直执行到break语句处或者是switch语句的末尾。与case值不匹配,则进入下一语句。
public class vir{
public static void main(String[]args){
char c ='a';
int rand=(int)(26*Math.random());//(int)强制转换为int类型 产生一个[0,25]的随机数
char c2=(char)(c+rand);
System.out.print(c2+";");
switch(c2){
case='a'://利用case贯穿, 输出所有的字符直到遇到break
case='e':
case='i':
case='o':
case='u':
System.out.println("元音");
break;
case='y':
case='w':
System.out.println("半元音");
break:
default:
System.out.println("辅音");
}
}
示例:
System.out.print("请输入月份:");
int month =(int)(1+Math.random()*12);
if(month>0&&month<13){
switch (month) {
case 2:
System.out.println("28天");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("30天");
break;
default:
System.out.println("31天");
}
}else{
System.out.println ("您输入的月份不合法!");
}
while循环结构;
while语句格式:
while(布尔表达式){
循环体;
}
1.当循环开始时,会计算一次布尔表达式的值,若条件为真,执行循环体。而对于后来每一次循环。都会重新计算一次。
2.语句中应有循环趋向于结束的语句,否则死循环。
public class Test{
public static void main(String[] args){
int i=0;
int sum=0;
while(i<100){//循环条件
sum+=i;//计算总和
i++;
}
System.out.println("sum="+sum);
}
}
do while 循环
do{
循环体;
}while(布尔表达式);
先执行后判断,至少执行一次。
public class Test{
public static void main(String[] args){
int i=0;
int sum=0;
do{
sum+=i;
i++;
}while(i<=100);
System.out.println("sum="+sum);
}
}
while和dowhile的区别
dowhile至少被执行一次。
int a =0;
while(a<0){
System.out.println(a);
i++;
}
System.out.println("******");
a=0;
do{
System.out.println(a);
i++;
}while(a<0);
for循环
1.for循环语句支持迭代的一种通用结构
格式:
for(初始表达式;布尔表达式;步进){
循环体;
}
for循环会在第一次反复前进行初始化,然后执行条件测试,而且在每一次反复的时候,进行步进;
1.初始化循环变量的初值
2.条件表达式判断为布尔类型
3.迭代因子控制循环变量的增减
for (初始表达式;布尔表达式;迭代因子) {
循环体;
}
public class ForTest {
public static void main(String args[]) {
int sum = 0;
for (int i = 0; i <= 100; i++) {
sum += i;
}
System.out.println("Sum= " + sum);
for(int i=9;i>0;i--){
System.out.println(i);
}
for(int i=90;i>0;i-=3){
System.out.println(i);
}
}
}