控制语句

java控制可以分为7种:

*控制选择结构语句:

  *if  if else

  *switch

*控制循环结构语句:

  *for

  *while

  *do while

*改变控制语句顺序:

  *break

  *continue

 if控制语句

/*
关于java语言当中的if语句,属于选择结构,if语句又被称为分支语句/条件控制语句;
1、if语句的运发结构:包含4中编写方式
第一种:
if(布尔表达式){java语句;...};
第二种:
if(布尔表达式){
java语句;...
}else{
java语句;...
}
第三种:
if(布尔表达式){
java语句;...
}else if(布尔表达式){
java语句;...
}...
第四种:
if(布尔表达式){
java语句;...
}else if(布尔表达式){
java语句;...
}else{
java语句;...
}
重点:只要有一个if分支执行,整个if语句结束;
注意:所有控制语句都是可以互相嵌套的。
注意:嵌套使用的时候,代码格式要保证完美。
注意:if语句中,只有一条java语句的话,大括号可以省略;
if(true/false){java语句;}
if(true/false) java语句;//但是不推荐使用,这种代码风格不好。不容易看清。
*/ public class ifTest01{
public static void main(String[] args){
// 需求,所在位置的5公里范围内有肯德基的话,去KFC吃午饭。
// 公里数
double distance = 6.0;//单位KM
// 判断语句
if(distance<=5){
System.out.println("走着去KFC吃午饭");
}else if(distance<=7.0&&distance>5){
System.out.println("跑着去KFC吃午饭");
}else{
System.out.println("在附近吃别的");
} }
}

接收用户键盘输入

/*
System.out.println() 负责向控制台输出,【从内存到控制台,输出的过程,这是从内存中出来了】
接收用户键盘输入,从"键盘"到"内存"。【输入的过程,到内存汇总去】 */ public class ifTest01{
public static void main(String[] args){
// 创建键盘扫描器对象
java.util.Scanner s = new java.util.Scanner(System.in);
// 第二部:调用Scanner对象的next()方法开始接收用户键盘输入
// 程序执行到这里,会停下来,等待用户输入
// 当用户输入的时候,并且最终敲回车键的时候,键入的信息会自动赋值给userInputContent
// 程序执行到这里,用户输入的信息已经到内存中了 // 接收文本【以字符串的形式接收】
// String userInputContent = s.next();
// 将内存中的数据输出到控制台
// System.out.println("您输入了:"+userInputContent); // 接收数字【以整数型的形式接收】
int num = s.nextInt();
System.out.println("您输入的数字是:"+num); }
}
/*
if控制语句练习:
需求:假设系统给定一个人的年龄(这个年龄需要从键盘输入),
根据年龄来判断这个人处于生命的哪个阶段。年龄必须在[0-150]
[0-5]幼儿
[6-10]少儿
[11-18]青少年
[19-35]青年
[36-55]中年
[56-150]老年
*/ public class ifTest01{
public static void main(String[] args){
// 1、接收键盘输入:年龄【输入的时候必须输入数字】 // 创建键盘扫描器对象
java.util.Scanner s = new java.util.Scanner(System.in);
// 提示信息
System.out.println("请输入您的年龄");
int age = s.nextInt();//停下来等待用户输入,回车后赋值给age,然后往下执行
System.out.println("age="+age); // 2、根据需求进行业务逻辑判断
String str = "老年";
if( age < 0 || age > 150 ){
str = "您提供的年龄不合法,年龄需要在[0-150]";
}else if(age <= 5){
str = "幼儿";
}else if(age <= 10){
str = "少儿";
}else if(age <= 18){
str = "青少年";
}else if(age <= 35){
str = "青年";
}else if(age <= 55){
str = "中年";
}else if(age <= 105){
str = "老年";
}
System.out.println("您处于生命周期的"+str+"阶段"); }
}
/*
if控制语句练习:需求
判断当前的天气:
当外边下雨的时候:
带雨伞:
男生:带一把大黑伞
女生:带一把小黑伞
当外边晴天的时候:
判断天气的温度:
当温度在30度以上:
男生:戴墨镜
女生:搽防晒霜 提示:
1、一定要用到嵌套
2、天气状况、性别、温度都需要从键盘输入
天气状况:1表示下雨、0表示晴天
性别:1表示男、0表示女
温度直接用数字表示即可
*/ public class ifTest01{
public static void main(String[] args){
java.util.Scanner s= new java.util.Scanner(System.in); System.out.println("欢迎使用本系统,您通过本系统可以完成一些简单的判断");
System.out.println("说明1:1表示男、0表示女");
System.out.println("说明2:1表示下雨、0表示晴天");
System.out.println("说明3:用数字表示温度"); // 接收性别
System.out.println("请输入性别:");
int sex = s.nextInt();
// 接收天气状况
System.out.print("请输入当前天气:");
int weather = s.nextInt();
// 判断天气状况
if(weather == 1){
// 下雨天
System.out.println("下雨天");
if(sex == 1){
System.out.println("带一把大黑伞");
}else if(sex == 0){
System.out.println("带一把小花伞");
}else{
System.out.println("请输入正确的性别");
}
}else if(weather == 0){
//晴天
System.out.println("晴天");
// 接收温度
System.out.println("请输入温度:");
int tem = s.nextInt();
if(tem > 30){
if(sex == 1){
System.out.println("带墨镜");
}else if(sex == 0){
System.out.println("查防嗮爽");
}else{
System.out.println("请输入正确的性别");
}
}else{
System.out.println("今天天气良好,可以自由出行");
}
}else{
System.out.println("您输入的天气有误,需要输入1或者0");
}; }
}

 switch语句

/*
关于switch语句:
1、switch语句也属于选择结构,也属于分支语句
2、switch语句的语法结构
一个完整的switch语句应该这样编写:
switch(int或String类型的字面值或变量){
case int或String类型的字面值或变量:
java语句;
...
break;
case int或String类型的字面值或变量:
java语句;
...
break;
default :
java语句;
...
};
3、switch语句执行原理:
switch后面小括号当中的"数据"和case后面的"数据",进行一一匹配,匹配成功的分支执行。
按照从上到下的顺序依次匹配。
4、匹配成功的分支执行,分支当中最后有break语句,整个switch语句终止。
5、匹配成功的分支执行,分支当中最后没有break语句的话,直接进入下一个分支执行(不进行匹配)。
这种现象被称为case穿透现象。【提供break;语句可以避免穿透】
6、所有分支如果都没有匹配成功,如果有default语句的话,会执行default分支当中的语句。
7、switch后面和case后面只能是int或String类型的数据,不能探测其它类型!
*当然,byte、short、char也可以直接写到switch和case后面,因为他们可以进行自动类型转换。
byte、short、char可以自动转换为int类型。
*JDK6版本的话,switch和case后面只能探测int类型。
*JDK7以后版本包括JDK7版本,引入新特性,switch和case后面可以探测int或String类型的数据。
8、case可以合并:
int i = 10;
switch(i){
case 1: case 2: case 3: case 10:
java语句;
...
break;
default:
java语句;
} */
public class Switch01{
public static void main(String[] agrs){
/*类型错误
long a = 100L;
int b = a;
*/
// 和上面的报错原因相同
// long x = 100L;
// switch(x){} // 解决编译错误
long x = 100L;
switch((int)x){}; byte b = 10;
switch(b){}; short s = 20;
switch(s){}; char c = 'A';
switch(c){}; char cc = 97;
switch(cc){}; // switch(true){}; 编译错误 不兼容的类型 无法转换为int String username = "张三";
switch(username){}; /*
较完整的switch语句
*/
// 接收用户的输入:
// 输入1:星期一
// 输入2:星期二
// ...
// 输入7:星期日 java.util.Scanner o = new java.util.Scanner(System.in);
System.out.print("请输入数字1-7:");
int num = o.nextInt();
switch(num){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("您输入的啥都不是");
} System.out.println("======================");
//case穿透
switch(num){
case 1:
System.out.println("星期一");
// break; 输入1、2都会穿透到3的分支
case 2:
System.out.println("星期二");
// break; 输入1、2都会穿透到3的分支
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("您输入的啥都不是");
}; System.out.println("======================");
//case合并
switch(num){
case 1: case 2: case 3: case 4: case 5:
System.out.println("工作日");
break;
case 6: case 7:
System.out.println("休息日");
break;
default:
System.out.println("您输入的啥都不是");
}; }
}
/*
switch确实可以探测String类型,这是java7的新特性。
*/
public class Switch01{
public static void main(String[] agrs){ java.util.Scanner s = new java.util.Scanner(System.in); System.out.print("请输入汉字的星期几:"); String str = s.next();
switch(str){
case "星期一":
System.out.println(1);
break;
case "星期二":
System.out.println(2);
break;
case "星期三":
System.out.println(3);
break;
case "星期四":
System.out.println(4);
break;
case "星期五":
System.out.println(5);
break;
case "星期六":
System.out.println(6);
break;
case "星期日":
System.out.println(7);
break;
default:
System.out.println("您输入有误");
}
}
}
/*

*/
public class Switch01{
public static void main(String[] agrs){ char c = 'A';
switch(c){
case 'A':
System.out.println("高级");
break;
case 'B':
System.out.println("中级");
break;
case 'C':
System.out.println("低级");
break;
default:
System.out.println("级别太低了");
}
switch(c){
case 65://'A'对应的int类型是65
System.out.println("高级");
break;
case 'B':
System.out.println("中级");
break;
case 'C':
System.out.println("低级");
break;
default:
System.out.println("级别太低了");
}
}
}
/*
需求:实现计算机中的加、减、乘、除、取余数
实现思路:
1、选择所有数据从键盘输入
2、使用switch语句进行判断
3、需要从控制台输入三次
*第一个数字
*运算符
*第二个数字 */
public class Switch01{
public static void main(String[] agrs){ java.util.Scanner s = new java.util.Scanner(System.in);
System.out.print("请输入第一个数字");
int a = s.nextInt();
System.out.print("请输入运算符");
String str = s.next();
System.out.print("请输入第二个数字");
int b = s.nextInt(); switch(str){
case "+":
System.out.println(a+" + "+b+" = "+(a + b));
break;
case "-":
System.out.println(a+" - "+b+" = "+(a - b));
break;
case "*":
System.out.println(a+" * "+b+" = "+(a * b));
break;
case "/":
System.out.println(a+" / "+b+" = "+(a / b));
break;
case "%":
System.out.println(a+" % "+b+" = "+(a % b));
break;
default:
System.out.println("计算有误");
}
}
}

循环语句

for循环

/*
1、循环结构
在程序当中,总有一些需要反复的/重复执行的代码,假设没有循环结构,
那么这段需要重复执行的代码自然是需要重复编写的。代码无法得到重复
使用。所以多数变成语言都是支持训话结构的。将来把需要重复执行的代码
片段放到"循环体",再联合"计数器",共同控制这段需要重复执行的代码。
2、基本上所有的变成语言支持的循环包括三种:
*for循环
*while循环
*do...while循环
3、接下来主要介绍for循环:
for循环的语法结构是什么呢?
for(初始化表达式;布尔表达式;更新表达式){
// 需要重复执行的代码片段【循环体:由java与语句构成】
}
4、for循环的执行过程/执行原理:
4.1:初始化表达式、布尔表达式、更新表达式都不是必须的!【但是 两个分号 是必须的】
4.2:初始化表达式最先执行,并且在整个for循环当中只执行一次。
4.3:布尔表达式的执行结构必须是true/false,不能是其它值。
4.4:for的执行过程:
*先执行初始化表达式,并且该表达式只执行一次
*判断布尔表达式的执行结构是true/false:
- 布尔表达式true:
*执行循环体
*执行更新表达式
*判断布尔表达式的结构是true/false
- 布尔表达式true:
*执行循环体
*执行更新表达式
*判断布尔表达式的结构是true/false
...
-布尔表达式false:
*循环结束
- 布尔表达式false:
*循环结束
*/ public class For01{
public static void main(String[] args){
// 需求:输出数字1-10
for(int i = 1; i <= 10; i++){
System.out.println(i);
}; // 死循环
// for( ; ; ){
// System.out.println("我是死循环");
// } // 需求:
// 找出1-100所有奇数
// 方案1:从1开始,每次递增2,这样每一个数字一定是奇数
for(int i = 1; i<= 100; i+=2){
System.out.println(i);
}
// 方案2:从1开始,每次都递增1,每次判断是否为奇数,如果是再输出。
for(int i = 1; i<= 100; i++){
if((i % 2) != 0){
System.out.println(i);
}
} // 计算1-100所有奇数的和
int sum = 0;
for(int i = 1;i <= 100; i+=2){
sum += i;
}
System.out.println("sum = " + sum); // for循环的嵌套使用
// 内层循环中的变量名不能和外层循环中的变量名重复
for(int i = 0; i < 10; i++){
for(int j = 0; j < 3; j++){
System.out.println(j);//0、1、2执行10遍
}
} // 写一个九九乘法表
String str = "";
for(int i = 1;i < 10; i++){
str = "";
for(int j = 1;j <= i;j++){
str += (i + " * " + j + " = "+(i * j)+ "; ");
}
System.out.println(str);
}
}
}
public class For01{
public static void main(String[] args){
// 编写for循环,找出1-100中所有的素数
// 素数又被称为质数,只能被1和本身整除
int count = 0;//计数 被整除的次数
int num = 0;//计数 打印的次数
System.out.println(2);
for(int i = 3;i < 100;i++){
count = 0;
for(int j = 1;j <= i;j++){
if(i % j == 0){
count++;
}
}
if(count == 2){
System.out.println(i);
}
} // 升级版
// 编写for循环找出1-10000中所有的素数
// 要求每8个换一行输出
for(int i = 3;i < 10000;i++){
count = 0;
for(int j = 1;j <= i;j++){
if(i % j == 0){
count++;
}
}
if(count == 2){
num++;
if(num % 8 == 0){
System.out.print("\n");
}
System.out.print(i +" ");
}
}
}
}
public class Continue{
public static void main(String[] args){
// 打印出1-100的素数
boolean issushu = true;
// 1不是素数,所以直接从2开始
for(int i = 2;i <= 100;i++){
issushu=true;//初始化一下issushu的值
for(int j = 2;j < i;j++){
if(i % j == 0){
issushu = false;//除了1和本身外能够被其它数整除,代表不是素数
break;//加上break,大大提高执行效率
}
};
if(issushu){
System.out.println(i);
}
};
// 升级版
// 找出1-10000的素数
// 每8个换一行
int count = 0;
for(int i = 2;i <= 10000;i++){
issushu=true;
for(int j = 2;j < i;j++){
if(i % j == 0){
issushu = false;
break;
};
};
if(issushu){
System.out.print(i+" ");
count++;
if(count % 8 == 0){
System.out.println();//换行
} }
};
}
}

 while循环

/*
1、while循环的语法结构:
while(布尔表达式){
循环体;
}
2、while循环的执行原理:
-先判断布尔表达式结果:
*true:
-执行循环体
-判断布尔表达式
*true:
-执行循环体
-判断布尔表达式
...
*false:
-循环结束
*false:
-循环结束
3、while循环的循环次数:
0 ~ N次;
注意:如果while循环的循环体有可能一次都不执行 */ public class While01{
public static void main(String[] args){
// 写个死循环
// while(true){
// System.out.println("死循环");
// }
// 编译器检测到死循环后面的语句永远都执行不到 编译器真牛逼
// System.out.println("死循环后面的语句"); int i = 10;
int j = 3;
while(i < j){
System.out.println("永远都执行不到");
} // while(i > j){//这样写虽然是死循环,但是编译器不会报错 [后面的语句执行不到],因为变量的内存空间时在运行期开辟的
// System.out.println("死循环");
// }
// 编译通过
// System.out.println("在死循环后面的语句"); // while(10 > 3){//这样写 后面的语句执行不到 会编译报错
// System.out.println("死循环");
// }
// System.out.println("写在死循环后面的语句执行不到,编译器会报错"); }
}
/*
*/ public class While01{
public static void main(String[] args){
// while循环输出1-10
int i = 1;
while(i <= 10){
System.out.println(i);
i++;
}
System.out.println("------------------");
// while循环输出10-1
int j = 10;
while(j > 0){
System.out.println(j--);
System.out.println("--->"+j);
} int k = 10;
while(k >= 0){
System.out.println(--k);//输出 9到-1
} }
}

 dowhile循环

/*
do..while循环
1、do..while循环的语法结构:
do{
循环体;
}while(布尔表达式);
2、do..while循环的执行原理:
先执行循环体,再执行判断布尔表达式,若果为假,循环结束,如果为真,再执行循环体。以此类推。
3、do..while循环的执行次数:
1-N次,也就是循环体执行一次
4、使用do..while循环的注意事项:
do..while循环最终有一个分号,别丢了。
*/
public class DoWhile{
public static void main(String[] args){
int i = 10;
do{
System.out.println(i);
}while(i > 100);//条件为假 会执行一次
System.out.println("----------------------------");
while(i > 100){//条件为假 一次都不执行
System.out.println(i);
};
System.out.println("-----------------------");
int a = 1;
do{
System.out.println(a);
a++;
}while(a <= 10);
}
}

控制循环的语句:

break;

/*
关于java控制语句当中的break语句:
1、break是java语言中的关键字,被翻译为"中断/折断".
2、break + ";",可以成为单独的java语句:break;
3、break语句使用在switch语句中,用来终止switch语句。
4、break语句同样可以使用在for循环中,用来终止循环。
5、break终止那个循环呢?
6、break;使用在for、while、do..while循环中,用来跳出循环,终止循环的执行。
因为当循环执行到某个条件的时候,后面的循环没必要再执行了,再执行也是耗费资源。
所以可以终止循环,这样可以提高循环的执行效率。
7、以下以for循环为例,讲解break;
8、在默认情况下,break;终止的是离他最近的循环;当然也可以指定终止某个循环,
需要给循环起名,采用这种语法:break 循环名称; */
public class DoWhile{
public static void main(String[] args){
for(int i = 0;i < 10;i++){//0,1,2,3,4这段代码打印到4就不再执行了
if(i == 5){
break;
}
System.out.println(i);
};
// 这里的程序和for循环无关,以下程序照样执行
System.out.println("hello world"); System.out.println("------------------");
// break;终止的是当前循环,不影响外层循环
for(int j = 0;j < 3;j++){
for(int i = 0;i < 10;i++){
if(i == 5){
break;
}
System.out.println(i);
};
};
// 在来看看以下代码
System.out.println("--------------------------");
// 以下语法使用较少,但需要会用
// 给for循环起名叫for1
for1:for(int j = 0;j < 3;j++){
// 给for循环起名叫for2
for2:for(int i = 0;i < 10;i++){
if(i == 5){
break for1;//在这里终止的是for1循环
}
System.out.println(i);
};
}; }
}

 continue

/*
continue语句:
1、continue表示:继续/go on/下一个
2、continue也是一个continue关键字加一个分号构成一个单独的完整的java语句,
出现在循环语句当中,用来控制循环的执行。
3、break和continue的区别:
*break表示循环不执行了。终止循环。
*continue表示直接跳出当前"本次"循环,进入下一个循环继续执行。
4、continue也有这样的语法:
continue 循环名称;【了解即可,用的不多】
*/ public class Continue{
public static void main(String[] args){
// break
for(int i = 0;i < 10;i++){//0、1、2、3、4
if(i == 5){
break;
}
System.out.println("i = "+i);
};
System.out.println("-------------------------");
// continue
for(int i = 0;i < 10;i++){//0、1、2、3、4、(跳过5)、6、7、8、9
if(i == 5){
continue;
}
System.out.println("i = "+i);
};
System.out.println("-------------------------");
// continue 循环名称;
for1:for(int i = 0;i < 5;i++){//总共执行4次,因为中间跳过一次
for2:for(int j = 0;j < 5;j++){
if(i == 3){
continue for1;//当i==3时,跳出for1外层的这一次循环,继续执行
};
System.out.println(i+"---"+j);
}
};
}
}

java学习笔记(5) 控制语句、键盘输入的更多相关文章

  1. 【Visual C++】游戏编程学习笔记之七:键盘输入消息

     本系列文章由@二货梦想家张程 所写,转载请注明出处. 作者:ZeeCoder  微博链接:http://weibo.com/zc463717263 我的邮箱:michealfloyd@126.c ...

  2. java学习笔记IO之字节输入输出流

    IO字节输入输出流 OutputStream:字节输出流 该抽象类是所有字节输出流的超类: 定义了一些共性的成员方法: 1.写入一个字节 void write(int b);//b表示字节 2.写入字 ...

  3. 【Visual C++】游戏编程学习笔记之八:鼠标输入消息(小demo)

     本系列文章由@二货梦想家张程 所写,转载请注明出处. 作者:ZeeCoder  微博链接:http://weibo.com/zc463717263 我的邮箱:michealfloyd@126.c ...

  4. Java学习笔记之---流程控制语句

    Java学习笔记之---流程控制语句 (一)循环语句 (1)if语句 if(布尔表达式){ //如果布尔表达式为true将执行的语句 } if(i%2!=0){ System.out.println( ...

  5. Java学习笔记:基本输入、输出数据操作实例分析

    Java学习笔记:基本输入.输出数据操作.分享给大家供大家参考,具体如下: 相关内容: 输出数据: print println printf 输入数据: Scanner 输出数据: JAVA中在屏幕中 ...

  6. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  7. 20145330第六周《Java学习笔记》

    20145330第六周<Java学习笔记> . 这周算是很忙碌的一周.因为第六周陆续很多实验都开始进行,开始要准备和预习的科目日渐增多,对Java分配的时间不知不觉就减少了,然而第十和十一 ...

  8. java学习笔记15--多线程编程基础2

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note15.html,转载请注明源地址. 线程的生命周期 1.线程的生命周期 线程从产生到消亡 ...

  9. java学习笔记之基础篇

    java选择语句之switch   //switch可以用于等值判断 switch (e) //int ,或则可以自动转化成int 的类型,(byte char short)枚举jdk 7中可以防止字 ...

  10. java学习笔记(1)java的基础介绍 、JDK下载、配置环境变量、运行java程序

    java工程师是开发软件的 什么是软件呢? 计算机包括两部分: 硬件: 鼠标.键盘.显示器.主机箱内部的cpu.内存条.硬盘等 软件: 软件包括:系统软件和应用软件 系统软件:直接和硬件交互的软件:w ...

随机推荐

  1. How to do SSH Tunneling (Port Forwarding)

    How to do SSH Tunneling (Port Forwarding) In this post we will see how ssh works?, what is SSH tunne ...

  2. tensorflow遇到ImportError: Could not find 'cudart64_100.dll'错误解决

    在安装tensorflow的时候,使用import tensorflow出现了找不到dll文件的错误,参考了很多博客和stackflow的解决方案,发现其中只说了版本号不匹配,但是没有具体说明什么样的 ...

  3. UAVCAN DSDL介绍

    原文:http://uavcan.org/Specification/3._Data_structure_description_language/ DSDL:Data structure descr ...

  4. Java 读取控制台输入

    方式1:InputStreamReader+BufferedReader package my_package; import java.io.BufferedReader; import java. ...

  5. linux中的【;】【&&】【&】【|】【||】说明与用法

    原文 “;”分号用法 方式:command1 ; command2 用;号隔开每个命令, 每个命令按照从左到右的顺序,顺序执行, 彼此之间不关心是否失败, 所有命令都会执行. “| ”管道符用法 上一 ...

  6. centos 宝塔 使用命令行快速导入数据库sql

    先将sql文件上传到服务器,例如上传到www文件夹 然后打开命令行工具 输入 mysql -u 数据库用户名 -p 然后复制密码进去 然后输入 use 数据库名 回车 然后输入 source /www ...

  7. Locust性能模块浅谈

    今天接触到Locust性能模块,下面介绍一下安装与简单的应用 1.安装方式:pip install Locust Locust支持Python 2.7, 3.4, 3.5, and 3.6的版本,小编 ...

  8. 【转】高性能网络编程4--TCP连接的关闭

    TCP连接的关闭有两个方法close和shutdown,这篇文章将尽量精简的说明它们分别做了些什么. 为方便阅读,我们可以带着以下5个问题来阅读本文: 1.当socket被多进程或者多线程共享时,关闭 ...

  9. 【笔记】MAML-模型无关元学习算法

    目录 论文信息: Finn C, Abbeel P, Levine S. Model-agnostic meta-learning for fast adaptation of deep networ ...

  10. 《TensorFlow2深度学习》学习笔记(三)Tensorflow进阶

    本篇笔记包含张量的合并与分割,范数统计,张量填充,限幅等操作. 1.合并与分割 合并 张量的合并可以使用拼接(Concatenate)和堆叠(Stack)操作实现,拼接并不会产生新的维度,而堆叠会创建 ...