Practice| 流程控制
若整数a除以非零整数b,商为整数,且余数为零,
我们就说a能被b整除(或说b能整除a),a为被除数,b为除数,即b|a("|"是整除符号),读作"b整除a"或"a能被b整除。
如:6 | 3, 6能被3整除 或 3能整除6。
if ( x = y ) { //--->>报编译的错误
}
/*
从键盘分别输入年、月、日,判断这一天是当年的第几天
注:判断一年是否是闰年的标准:
1)可以被4整除,但不可被100整除
2)可以被400整除
要求:使用switch case实现 class YearMonthDay{
public static void main(String[] args){
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.print("年:");
int year = input.nextInt(); System.out.print("月:");
int month = input.nextInt(); System.out.print("日:");
int day = input.nextInt(); int days = day;
//月份天数的累加
switch (month){
case 12:
days += 30; //前11个月份的天数
case 11:
days += 31;//10月份;
case 10:
days += 30;//9月份
case 9:
days += 31;//8月份
case 8:
days += 31;//7月份
case 7:
days += 30;//6月份
case 6:
days += 31;//5月份
case 5:
days += 30;//4月份
case 4:
days += 31;//3月份
case 3:
days += 28;//2月份
if((year % 4 == 0 && year % 100 != 0 || year % 400 == 0)){
days++;
}
case 2:
days += 31;//1月份 }
//if((month == 3) && (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)){
// days++; 行不通的,如果是month=12,它是不会走这一步的。
//} System.out.println(year +"年" + month + "月"+ day + "日" +"至今已过" + days); }
} */ /*
2、从键盘分别输入年、月、日,判断这一天是当年的第几天
注:判断一年是否是闰年的标准:
1)可以被4整除,但不可被100整除
2)可以被400整除
要求:使用循环实现 class YearMonthDay{
public static void main(String[] args){
java.util.Scanner input = new java.util.Scanner(System.in); System.out.print("年:");
int year = input.nextInt();
System.out.print("月:");
int month = input.nextInt();
System.out.print("日:");
int day = input.nextInt();
int days = day; //累加零头的天数;
for(int i = 1; i < month; i++){ //累加满月[2~month-1]的天数; 从2月开始计算;;;;
if(i == 4 || i == 6 || i == 9 || i == 11){
days += 30; }else if(i == 2){ //注意注意注意,这里是else if,写成if就是它就会在i==4,6,9,11走else多加31天。
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
days += 29;
}else{
days += 28;
}
}else{
days += 31;
} }System.out.println(year + "年" + month +"月" + "至今已过" + days);
}
}
*/ /*
从键盘分别输入年、月、日,判断这一天是当年的第几天
注:判断一年是否是闰年的标准:
1)可以被4整除,但不可被100整除
2)可以被400整除
要求:使用循环 + 数组实现
*/
class YearMonthDay{
public static void main(String[] args){
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.print("年:");
int year = input.nextInt();
System.out.print("月:");
int month = input.nextInt();
System.out.print("日:");
int day = input.nextInt(); int days = day; int[] dayOfMonth = {31,28,31,30,31,30,31,31,30,31,30,31};//静态初始化
for(int i = 1;i < month;i++){
days += dayOfMonth[i-1];
if((i == 2) && (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)){
days++;
}
}
System.out.println(year +"年" + month + "月"+ day + "日" +"至今已过" + days + "天" + "仅剩" + (365-days) +"天"); } }
class Forloop{
public static void main(String[] args){
/*
int sum = 0;
for(int i = 1; i <=100; i++){
sum += i;
}
System.out.println(sum);
*/ /*
int count = 0;
for (int i = 1; i <= 100;i++){ if(i % 3 == 0){
System.out.print(i + "\t");
count++;
if(count % 5 == 0){
System.out.println("\n");
}
}
}
*/
//方法一
/*
for (int i = 1, mi = 0; i <= 1024; i*=2, mi++){
System.out.println("2的" + mi +"方为:" + i);
}
2的0方为:1
2的1方为:2
2的2方为:4
2的3方为:8
2的4方为:16
2的5方为:32
2的6方为:64
2的7方为:128
2的8方为:256
2的9方为:512
2的10方为:1024
*/ //方法二
/*
2的0方为:1
2的1方为:2
2的2方为:4
2的3方为:8
2的4方为:16
2的5方为:32
2的6方为:64
2的7方为:128
2的8方为:256
2的9方为:512
2的10方为:1024
*/ int result = 0;
for(int i = 0; result < 1024; i++){
result = (int) Math.pow(2,i);
System.out.println("2的" + i +"方为:" + result);
} }
}
九乘九乘法口诀
九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
*/
class Test10{
public static void main(String[] args){
//外层循环,一共有9行
for(int i = 1;i <= 9; i++){
//换行之前,要打印该行的n个式子
/*
当i=1, j=1,执行内层循环体,跳出内层
当i=2, j=1,2
当i=3, j=1,2,3*3
...
当i=9,j=1,2,3,4,5,6,7,8,9
*/
for(int j = 1;j <= i;j++ ){
System.out.print(j + "*" + i + "=" + (j*i) + "\t");
}
System.out.println();
} }
}
打印 质数
/*
找出1-100之间所有的素数(质数) */
class TestSu12{
public static void main(String[] args){
//方法1统计除i和它本身的约数的个数;
/*
for(int i = 2;i<=100; i++){
int count = 0;
for(int j = 2;j < i;j++){
if(i % j == 0){ //j是i的约数
count++;
}
}if(count == 0){
System.out.println(i);
}
} for(int i = 2;i <= 100;i++){ //方法二找除了1和它本身以外约数的证据,找到就停止;定义一个boolean
boolean flag = true;
for(int j = 2; j<i;j++){
if(i%j == 0){
flag = false; //找到就终止这一层的循环;
break;
} }if(flag == true){ //注意注意这里是 ==
System.out.println(i);
}
} */ for(int i = 2; i<=100;i++){ int j;
for(j = 2;j<i; j++){
if(i%j == 0){ //满足i%j == 0了,内循环从break除了 j<i
break; //(i%j==0)没有满足过,内循环的结束 j==i
}
}if(j == i){
System.out.println(i);
}
} }
}
打印菱形
/* i j k
* 1 4 1
* * * 2 3 3
* * * * * 3 2 5
* * * * * * * 4 1 7
* * * * * * * * * 5 0 9
* * * * * * * 1 1 7 2*(4-1)+1
* * * * * 2 2 5 2*(4-2)+1
* * * 3 3 3 2*(4-3)+1
* 4 4 1 2*(4-4)+1 //方法一先打印上半部分,再打印下半部分;
class TestLingXing{
public static void main(String[] args){
//上半部分
for(int i = 1; i <= 5;i++){
for(int j = 1; j <= (5-i); j++){
System.out.print(" ");
}for(int k = 1; k <= (2*i-1); k++){
System.out.print("*");
}
System.out.println();
//下半部分
}for(int i = 1; i <= 4;i++){
for(int j = 1;j <= i;j++){
System.out.print(" ");
}for(int k = 1; k <= 2*(4-i)+1;k++){
System.out.print("*");
}
System.out.println(); }
}
}
*/ class TestLingXing{
public static void main(String[] args){
for(int i = 1; i <= 9;i++){
//每一行:(1)打印空格(2)打印*(3)换行
//(1)打印空格
//上半+下半部分 --> " "
if(i <= 5){//i=1,j=1,2,3,4打印4次; j <= (5-i)
//i=2,j=1,2,3打印3次;
//i=3,j=1,2打印2次;
//i=4,j=1打印1次;
//i=5,j=0不打印;
for(int j = 1; j <= (5-i); j++ ){
System.out.print(" ");
} //括号括号括号
}else{ //i = 6,j=1打印1次; j <= i - 5
//i = 7,j=1,2打印2次;
//i = 8,j=1,2,3打印3次;
//i = 9,j=1,2,3,4打印4次; for(int j = 1; j <= i - 5;j++){
System.out.print(" ");
}
}
//(2)打印*
//上半+下半部分 --> "*"
if(i <= 5){ //i=1,j=1打印1次; j<=2*i-1
//i=2,j=1,2,3打印3次;
//i=3,j=1,2,3,4,5打印5次;
//i=4,j=1,2,3,4,5,6,7打印7次;
//i=5,j=1,2,3,4,5,6,7,8,9打印9次;
for(int j = 1;j <= (2*i-1); j++ ){
System.out.print("*");
} }else{ //i=6,j=1,2,3,4,5,6,7打印7次; j<=2*(9-i)+1
//i=7,j=1,2,3,4,5打印5次;
//i=8,j=1,2,3打印3次;
//i=9,j=1打印1次; for(int j = 1; j <= 2*(9-i)+1;j++){
System.out.print("*");
}
}
//(3)打印空格
System.out.println();
} }
} /* *
* *
* *
* *
* *
* *
* *
* *
* //内循环*只打印首尾,在上边图形的基础上做下判断即可。
class TestLingXing{
public static void main(String[] args){
//上半部分
for(int i = 1; i <= 5;i++){
for(int j = 1; j <= (5-i); j++){
System.out.print(" ");
}for(int k = 1; k <= (2*i-1); k++){
if(k == 1 || k == (2*i-1)){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
//下半部分
}for(int i = 1; i <= 4;i++){
for(int j = 1;j <= i;j++){
System.out.print(" ");
}for(int k = 1; k <= 2*(4-i)+1;k++){
if(k == 1 || k == 2*(4-i)+1){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println(); }
}
}
*/
Practice| 流程控制的更多相关文章
- Shell工具| 流程控制
1. 流程控制 if 判断 ()[ 条件判断式 ],中括号和条件判断式之间必须有空格 ()if后要有空格 [kris@hadoop datas]$ vim if.sh #!/bin/bash -eq ...
- java 基础one ---运算符and流程控制
首先java这个了解下java的基础 首先java文件都是以.java结尾的 然后 他所有的内容都是有一个入口的就是放在了public static void main(String [] args ...
- 第10章 Shell编程(4)_流程控制
5. 流程控制 5.1 if语句 (1)格式: 格式1 格式2 多分支if if [ 条件判断式 ];then #程序 else #程序 fi if [ 条件判断式 ] then #程序 else # ...
- Shell命令和流程控制
Shell命令和流程控制 在shell脚本中可以使用三类命令: 1)Unix 命令: 虽然在shell脚本中可以使用任意的unix命令,但是还是由一些相对更常用的命令.这些命令通常是用来进行文件和文字 ...
- PHP基础知识之流程控制的替代语法
PHP 提供了一些流程控制的替代语法,包括 if,while,for,foreach 和 switch. 替代语法的基本形式是把左花括号({)换成冒号(:),把右花括号(})分别换成 endif;,e ...
- Python黑帽编程2.4 流程控制
Python黑帽编程2.4 流程控制 本节要介绍的是Python编程中和流程控制有关的关键字和相关内容. 2.4.1 if …..else 先上一段代码: #!/usr/bin/python # - ...
- 使用yield进行异步流程控制
现状 目前我们对异步回调的解决方案有这么几种:回调,deferred/promise和事件触发.回调的方式自不必说,需要硬编码调用,而且有可能会出现复杂的嵌套关系,造成"回调黑洞" ...
- [Java入门笔记] Java语言基础(四):流程控制
流程控制指的是在程序运行的过程中控制程序运行走向的方式.主要分为以下几种: 顺序结构 顺序结构,顾名思义,是指程序从上往下逐步顺序执行.中间没有任何的判断和跳转. 分支结构 Java提供两种分支结构: ...
- node基础13:异步流程控制
1.流程控制 因为在node中大部分的api都是异步的,比如说读取文件,如果采用回调函数的形式,很容易造成地狱回调,代码非常不容易进行维护. 因此,为了解决这个问题,有大神写了async这个中间件.极 ...
随机推荐
- mysql修改字段长度及pymysql.err.DataError: (1406, "Data too long for column 'name' at row 1")错误
文章链接:修改字段:https://blog.csdn.net/xiejunna/article/details/78580682 错误分析:https://blog.csdn.net/qq_4214 ...
- GZip、deflate和sdch压缩(网摘整理)
GZip和deflate: gzip是一种数据格式,默认且目前仅使用deflate算法压缩data部分:deflate是一种压缩算法,是huffman编码的一种加强. deflate与gzip解压的代 ...
- MicroPython的开发板
比如: pyboard micro:bit ESP8266/ESP32 stm32等等 什么是pyboard? pyboard是官方的MicroPython微控制器板,完全支持软件功能.硬件有: ST ...
- 关闭VirtualBox虚拟机的时钟同步
原文链接:关闭VirtualBox虚拟机的时钟同步 在VirtualBox的虚拟机上默认虚拟机的时间是会和物理机同步的,但可以通过下面的命令来关闭 1. 首先查看虚拟机列表 VBoxManage li ...
- ORACLE in与exists语句的区别
select * from A where id in(select id from B) 以上查询使用了in语句,in()只执行一次,它查出B表中的所有id字段并缓存起来.之后,检查A表的id是否与 ...
- Confluence 6 如何配置快速导航的同时查找数量
进入后台后查看快速导航的启用和可以同时查找的数量. 然后进行通过单击右上角的编辑(Edit)按钮进行编辑. 对配置进行配置,启用快速查询和可以同时使用的最大查询数量. https://www.cwik ...
- Confluence 6 关于统一插件管理器
所有的组件通过 统一插件管理器(Universal Plugin Manager)进行管理,这个也被称为 UPM.UPM 可以在几乎所有的 Atlassian 应用中找到,能够提供完整同意的插件安装管 ...
- 【深度学习】吴恩达网易公开课练习(class1 week2)
知识点汇总 作业内容:用logistic回归对猫进行分类 numpy知识点: 查看矩阵维度: x.shape 初始化0矩阵: np.zeros((dim1, dim2)) 去掉矩阵中大小是1的维度: ...
- GoogLeNet 之 Inception v1 v2 v3 v4
论文地址 Inception V1 :Going Deeper with Convolutions Inception-v2 :Batch Normalization: Accelerating De ...
- Brup Suite 渗透测试笔记(五)
之前章节记到Burp Intruder功能区,接上次笔记 一.首先说再展开说说Brup Intruder功能, 1.标识符枚举Web应用程序经常使用标识符来引用用户账户,资产数据信息. 2.提取有用的 ...