20170804 - 今日技能封装 - A
Posted 清及
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20170804 - 今日技能封装 - A相关的知识,希望对你有一定的参考价值。
public class addition9 {
public static void main(String[] args) {
//for循环10次
//循环变量是次数
//变体是10的乘等
long ten = 10;
long result = 0;
int num = 0;
long value = 0;
for(int times = 1;times <= 10;times++){
//每次乘等于10,每次ten的值都比上一轮大一个级别
value = ten - 1;
System.out.println(ten);
ten = ten * 10;//关键步骤,需要想到可以用上一步骤得到的结果用来交互得出该步所需变量,而不是想着直接10乘以该次的mi‘fang
result = value + result;
}
System.out.println(result);
}
}
1 1 相关值(上步某些变量与下步某些变量)循环,对于构建当次变量,有几种思考方向?
①利用上次最终值与次数构建,该方式需注意第一次为if...else情况
(9+1)*10
②利用循环构建辅助变量——思考方式是,利用循环构建一个和值同样成长的变量,用它来求值
10*10-1
2 指出下列程序运行后的情况
public static void main(String[] args) {
int count=0;
while(count<5);
{
System.out.print(count+" ");
count++;
}
}
while后有分号.因此会停止。
3 int i = 1;
while(i<=10){
i++
}
println(i)
i的值为?
11,不满足条件才会跳出
4 变量作用域包括?
到包含它最接近的大括号.
5 设计算法流程
①设计流程
②定义变量时判断定义类型.
6 如何选择循环结构?
是否固定次数→要素1,3是否相同
当..:while
输入密码..直到正确:do...while
固定次数:for
7 如何水平制表?
\t,智能输出格式对整的空格
8 冒泡算法思路是?流程是?
从最左边开始,与相邻数字比较,符合指定运算规则便交换。
int[] arr = {1,2,423,5423,432,342};
int length = arr.length;
for(int i = 0;i < length){
{
public static void main(String[] args)
{
int[] arr = {1,2,3,43,23,13,5234};
for(int i = 0;i < arr.length-1;i++){//定义外部循环轮数
for(int j=0;j < arr.length-i-1;j++){//为何j!= i,因为冒泡算法冒的泡是到了最后,不管冒的是小还是大
if(arr[j] > arr[j+1]){
temp = arr[j];
arr[j] = arr [j+1];
arr[j+1] = temp;
}
}
}
}
}
9 多嵌套好还是少嵌套好?
越少越好.
10 嵌套循环中,内嵌套break可以跳出吗?
可以,跳出当层for循环.
11 程序等于?
算法+数据结构
12 数组可存放什么类型的数据?
数组可存放相同类型的数据.
13 思路清晰最重要.
13.5 如何声明数组变量?
int[] a;
14 如何初始化数组变量?初始化的是?如果已经定义想要重新赋值应用什么方式?
分两种,一是直接赋予内部一定数量的含有默认值的数据,一种是直接定义内部数据
①int[] a = new int[100];
int[] arr = {1,4,7};
②int[] arr = new int[]{1,4,7}
重新赋值:int[] arr = new int[]{1,4,7}
15 如何给数组重新赋值?
arr = new int[]{1,4,7}
16 如何访问数组内的某一个元素?
通过下标访问,下标从0开始
数组名[0]
17 如何获取数组的长度?
int a = arr.length
18 arr = {1,4,7} 是否正确?
编译错误,已初始化数组重新赋值
int[] arr = {1,4,7};
18 整型;双精度;字符型;布尔类型数组内数据默认值是?
0,0.0,0,flase
19 如何获取数组最后一个元素?
int a = arr[arr.length-1];
20 如何遍历数组?
for(int x = 0;x < arr.length;x++){
System.out.println(arr[x]);
}
21 是否会报错?
int[] arr3 = new int[3];
System.out.println(arr3.length);
arr3[0] = 100;
arr3[1] = 200;
arr3[2] = 300;
arr3[3] = 400;
22 数组A的前五位与数组B相同,如何操作?
使用System.arraycopy属性.
System.arraycopy(原数组;起始下标;目标数组;起始下标;复制个数)
System.arraycopy(A,0,B,0,5);
使用Arrays.copyOf
arr2 = [1,2,3]
int[] arr = Arrays.copyOf(B,5);
//[1,2,3,0,0,]
复制位数多补少截
23 数组的长度是固定的吗?如何扩容缩容?
arr = Arrays.copyOf(arr,arr.length+1);
24 什么情况用while,do...while?
判断密码是否输入正确.
无明确次数.
25 如何对数组进行排序?
Arrays.sort(arr)
26 冒泡算法一定是从哪一位开始冒?
27 每一次都一定是跟哪个元素比?
后一个.
28 遍历一定次数的固定语法是?
for(int i = 0;i < times;i++){
}
29 判断整除构建的判断是什么思路?
思路是判断该数除以其以下的其他整数,如果有可以被整除的,就不是质数,如果整个流程都没有可以被整除的,就是质数,那么关键在于构建一个能够判断整个流程都没有被整除的变量→明确思路便是构建一个能够“累积”的变量-因此便是构造一个随流程变化而变化的变量用于判断是否符合条件,于是赋值常数k=0,只要没有被整除,k自增1,只要最后的k值=循环的次数,那么就说明全程没有被整除。
今日反省:不断自我增强。
①做题目耗费时间过长:
质数提取:
1 没有明确到最后的提取思路,导致在那里思维上下返溯过久→应将思路明确明确再明确,作为自己的第一准则。
2 换行处,思路过于复杂,只要下标满足加一后可以被10整除,即可输出,居然分成了三种情况去处理?→在确定程序流程时思考有没有更简洁的思路或判断方式。
②没有对照答案,看答案思路→优化做题速度,做题流程
③每日课堂案例没有再敲一遍→优化做题速度
④过于骄傲自妄,爱显摆自己懂得多,总是不由自主想去教别人→想想你自己去那里的目的是什么,想想你真正应该放注意力在上面的东西是什么,自己想想主和次是什么。
每日个人感悟
确保你每日都在进步,并且不犯之前犯过的错误。
确保你自己正在往完美进化。
以上是关于20170804 - 今日技能封装 - A的主要内容,如果未能解决你的问题,请参考以下文章