控制流程

一:   if else   /    switch

1。 随机数的产生:导入import java.lang.Math;

    num=Math.random()  -->[0,1);

    [0,1)*n-m+1  >= (int)[0, n-m+1)  =[0,n-m]

    [m,n]之间的随机整数--->num=(int)(Math.random()*(n-m+1))+m

2.   扫描输入: 导入importjava.util.Scanner;

    Scanner  sc(也可以用其他命名) =new Scanner(System.in);

    类型 +id名 =sc.next();

    double nextDouble() , float nextFloat() , int nextInt() 等与nextLine()连用时都存在nextLine()语句内容扫描不出,

    解决的办法是:在每一个 next()、nextDouble() 、 nextFloat()、nextInt() 等语句之后加一个sc.nextLine()语句,将被next()去掉的Enter结束符过滤掉。

3.  if else  / switch 可以相互嵌套:但一般不多于3-4个

  switch 匹配值可以是 整形,char,字符串;

  switch 只能处理等值条件判断的情况,而且条件必须是整型变量或字符型变量

  if 没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况(不等值)

  break表示跳出匹配分支。如果省略break,会一直向下匹配,直到需要break或者直到匹配结束。

4.循环结构:循环条件,循环操作,循环条件的变化(一般用自加自减控制)。

  while(循环条件){ 循环操作 }    -->先进行循环条件判断,再决定是否循环。

  do{ 循环操作 } while(循环条件)-->先进行一次循环操作,再决定是否继续循环

  for(循环变量;循环条件;循环变量的变化){ 循环操作 }

  定义变量一般在循环外,避免在循环内循环定义,占用内存。

  没有循环条件或变化,容易形成死循环。

  break-->终止所在循环;   continue-->中止所在循环(如果continue后有代码操作,不执行,进入下次循环)

  

  循环可以嵌套。双层循环可以输出一个面。

  

for(int i=1;i<=3;i++){ // 控制row
for(int j=1;j<=6;j++){ // 控制column
System.out.print(" * ");
}
System.out.print("\n");
}

  

  下面为利用循环输出实心菱形与空心菱形代码。

 import java.util.Scanner;
public class J313{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入菱形行数");
int m=sc.nextInt();
System.out.println("实心菱形");
//分四部分,右上空格和上方* ;左下空格和下方* ;
for(int i=0;i<m;i++){
for(int j=i;j<m;j++){
System.out.print(" ");//左上空格
}
for(int j=0;j<i;j++){
System.out.print("* ");//上方*
}System.out.println();
}//上部分循环开始,一次输出一行空格和* ; for(int i=m+1;i>m&&i<=2*m;i++){
for(int j=m+1;j<i;j++){
System.out.print(" ");//左下空格
}
for(int j=i;j<=2*m;j++){
System.out.print("* ");//下方*
}System.out.println();
}//下部分循环开始,一次输出一行空格和* ;
//============================================================
System.out.println("空心菱形");
//分四部分,右上空格+一条* 和上方空格+* ;左下空格+一条* 和下方空格+* ;
for(int i=0;i<m;i++){
for(int j=i;j<m;j++){
System.out.print(" ");
}System.out.print("* "); if(i==0){
System.out.println("");
}else{
for(int k=1;k<i;k++){
System.out.print(" ");
}System.out.println("* ");
}
}
for(int i=0;i<=m;i++){
for(int j=1;j<=i;j++){
System.out.print(" ");
}System.out.print("* "); for(int j=i+1;j<m;j++){
System.out.print(" ");
}if(i!=m)System.out.println("*");
}
} }

  

    

java入门day03的更多相关文章

  1. Java入门第一章

    后天就是十一长假了,亲们准备好了去哪儿玩了吗? 今天有点空,就来聊聊Java吧,当然是一些Java入门知识了,网上有很多,这里我只是列举一些我自己学到的,感谢大家关注喵的博客这么久,也为大家带来点新知 ...

  2. [Java入门笔记] 面向对象编程基础(二):方法详解

    什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...

  3. 第1章Java入门体验

    第1章Java入门体验 1.java简介和平台应用 Java是sun公司开发出来,现在属于ORACLE公司java分为几个部分:首先是最基础的Java SE部分,这部分是Java的基础知识,主要包括: ...

  4. Java入门记(五):容器关系的梳理(下)——Map

    注意:阅读本文及相关源码时,需要数据结构相关知识,包括:哈希表.链表.红黑树. Map是将键(key)映射到值(value)的对象.不同的映射不能包含相同的键:每个键最多只能映射到一个值.下图是常见M ...

  5. Java入门(二)——果然断更的都是要受惩罚的。。。

    断更了一个多月,阅读量立马从100+跌落至10-,虽说不是很看重这个,毕竟只是当这个是自己的学习笔记,但有人看,有人评论,有人认同和批评的感觉还是很巴适的,尤其以前有过却又被剥夺的,惨兮兮的. 好好写 ...

  6. Android初涉及之Android Studio&JAVA入门--二月不能不写东西

    是的,我还没有放弃写博客. 是的,我也没有放弃PHP的学习. 是的,我要开始学学最TM火的Android开发了. 你呢 1.Android Studio 一.概况 安装和配置什么的就不具体说了,网上一 ...

  7. JAVA手记 JAVA入门(安装+Dos下运行)

    JAVA入门特供= =,今天设置环境变量后用dos运行的时候发现出现“找不到或无法加载主类”,索性查了些资料重新看了看JAVA入门的部分. 声明:我的笔记本暂时用的是Win10系统,Windows其他 ...

  8. Java入门教程总目录

    Java入门教程总目录 持续更新中... 1.Java常识汇总 2.Java框架对比 3.Java技术路线 4.Java编码规范 5.Java环境变量配置 6.枚举 7.操作符 12.定时任务

  9. Java入门的程序汇总

    Java入门的基础程序,虽然很简单,也要多练习,下面有重点的总结一下 1.HelloWorld这个不说了 2.常量与变量部分 基本数据类型使用 public class Javashujuleixin ...

随机推荐

  1. HTML解析之BeautifulSoup

    BeautifulSoup是一个用于从HTML和XML文件中提取数据的Python库.BeautifulSoup提供一些简单的.函数用来处理导航.搜索.修改分析树等功能.BeautifulSoup模块 ...

  2. HTML5滚动加载

    @using YoSoft.DSM.YoDSMModel;@using YoSoft.DSM.YoDSMBLL;@{ Layout = "~/Views/Shared/_LayoutComp ...

  3. spring boot 2使用Mybatis多表关联查询

    模拟业务关系:一个用户user有对应的一个公司company,每个用户有多个账户account. spring boot 2的环境搭建见上文:spring boot 2整合mybatis 一.mysq ...

  4. make capslock+hjkl as arrows

    Solution 2 (probably better) I was happy with solution 1, until I realized I couldn't use the key bi ...

  5. 蚂蚁金服ATEC城市峰会上海举行,三大发布迎接金融科技2019

    2019年1月4日,蚂蚁金服ATEC城市峰会以“数字金融新原力(The New Force of Digital Finance)”为主题在上海举办.稠州银行副行长程杰.蚂蚁金服副总裁刘伟光.蚂蚁金服 ...

  6. 虹软离线人脸识别 ArcFace 2.0 Demo [C++]

    环境: win10(10.0.16299.0)+ VS2017 sdk版本:ArcFace v2.0 OPENCV3.43版本 x64平台Debug.Release配置都已通过编译 下载地址:http ...

  7. js点滴3 vs vue

    web Components 学习之路 https://www.cnblogs.com/zhaowinter/p/5447246.html vue学习指路. vue全局配置. ignoredEleme ...

  8. Axure下拉列表的交互事件 + 自定义元件库

    下拉列表的交互事件: 场景:当点击第一个下拉列表框的江苏时,第二个列表框会显示江苏省的城市:当点击第一个下拉列表框的北京时,第二个列表框会显示北京市的区 操作:把第二个列表框设置为动态面板,设置为两种 ...

  9. java中,字符串和集合判断是否为空

    字符串: 集合: 不为空

  10. 『超分辨率重建』从SRCNN到WDSR

    超分辨率重建技术(Super-Resolution)是指从观测到的低分辨率图像重建出相应的高分辨率图像.SR可分为两类:    1. 从多张低分辨率图像重建出高分辨率图像    2. 从单张低分辨率图 ...