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的主要内容,如果未能解决你的问题,请参考以下文章

20170811 - 今日技能封装 - A

20170817 - 今日技能封装 - A

20170803 - 今日技能封装 - A

20170818 - 今日技能封装 - A

20170802 - 今日技能封装 - A

20170810 - 今日技能封装 - A