Java傻瓜式学习第四天
复习昨天内容
代码的执行过程(流程控制)
-
顺序结构-----------------自上而下
-
选择结构-----------------if,switch
-
循环结构(昨个随便说了几句,今天细说)
今日内容
(1)循环结构
(1)什么是循环结构?
我的理解:有条件的重复执行某段代码。分为do,while,do while。
百度百科:for循环是编程语言中一种循环语句,而循环语句由循环体及循环的判定条件两部分组成,其表达式为:for(单次表达式;条件表达式;末尾循环体){中间循环体;}。
(2)循环结构格式
for( 条件1;条件2;条件3){-----语句-----;}
注意:条件2为真,循环继续迭代;条件2为假,跳出循环!
结论:
1:确实是循环
2:循环里面的条件1条件2条件3可为空(当条件2为空时,无线循环下去)
3:循环的初始哪里都可以放(即条件1),循环后的迭代操作哪里都可以放(即条件3)
(2)数组
(1)什么是数组
我的理解:一个存数的容器,可以存好多个(数组也是一个特殊的变量)
百度百科:数组(Array)是有序的元素序列。 [1] 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。 这些有序排列的同类数据元素的集合称为数组。数组是用于储存多个相同类型数据的集合。
(2)Java如何表示数组
数据类型[]数组名 ;(定义完成后还需赋值,不然不能用)
(3)数组赋值
数组赋值格式:数组名=new 数据类型[长度];
(4)标准格式
定义和初始化合二为一:数据类型[] 数组名=new 数据类型[长度];
(5)使用数组
(1)存数
数组名[索引]=数值;
所谓的索引,就是从0开始依次递增,最大索引=长度-1
(2)取数
- 直接取数:System.out.println(数组名[索引])
- 赋值取数:
变量=arr[索引];
System.out.println(变量)
例题
(1).一只公鸡5元钱,一只母鸡3元钱,三只小鸡1元钱。要求100元买100只鸡,请给出所有可行的结果?
package yjnboke4;
public class Demo1 {
public static void main(String[] args) {
int a;int b;int c;
for (a=0;a<21;a++){
for (b=0;b<34;b++){
for (c=0;c<301;c++){
if(a*5+b*3+c*1/3==100&a+b+c==100){
System.out.println("公鸡"+a+"只 母鸡"+b+"只 小鸡"+c+"只");
}
}
}
}
}
}
(2).求1~20所以偶数的个数与其和
package yjnboke4;
public class Demo2 { public static void main(String[] args) {
System.out.println("求1----20所有偶数的个数、和:");
int a=0;int b=0;
for (int i = 1;i < 21; i++) {
if (i % 2 == 0) {
a++;
b=i+b;
}
}
System.out.println("1~20中所有偶数的个数是:"+a);
System.out.println("1~20中所以偶数的和是:"+b);
}
}
(3)求所有的质数1—100
看代码可知,a区域和b区域只能活一个所以我加了一个开关,下面是代码,自行参考
package yjnboke4;
public class Demo3 {
public static void main(String[] args) {
System.out.println("求所有的质数1---100");
//1找到所以的数
//2区分是否是质数-----2~i之间的数
//质数:只能被1和本身相处
for (int i=2;i<101;i++){
//所以2~100 的数
int b=1;
for (int a=2;a<i;a++){
//2~i之间的数
if(i%a==0)
//判断i是否为质数,
{
b=2;
break;
}
}
if(b==1){
System.out.println(i);
}
}
}
}
(4)数组运行(纯例子)
自行参考
package yjnboke4;
public class Demo4 {
public static void main(String[] args) {
//数据类型[] 数组名=new 数据类型[长度];
int[] arr = new int[3];
//数组名[索引]=数值 22 33 55
arr[0] = 22;
arr[1] = 33;
arr[2] = 55;
//直接取值
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
//赋值取值(麻烦,但是灵活,变量可以重复使用)
int a=arr[0];
System.out.println(a);
}
}