引用数据类型

  与定义基本数据类型变量不同,引用数据类型的变量定义及复制有一个相对固定的步骤和格式:

数据类型 变量名 = new 数据类型();如:String st = new String();st = 'aaaaa'

而每种引用数据类型都有其功能,我们可以调用改类型的实例的功能,调用方式:

变量名.方法名();如:st.length();

  Scanner

  Scanner类是引用数据类型的一种,我们可以使用该类来完成用户键盘输入,获取到输入的数据。

  使用步骤:

导包import java.util.Scanner;
创建对象实例:Scanner sc = new Scanner(System.in);
调用方法:int  i = sc.nextInt(); 用来接收控制台录入的数字String s = sc.next(); 用来接收控制台录入的字符串

  实例:

import java.util.Scanner;
public class ScannerDemo01 {public static void main(String[] args) {//创建Scanner引用类型的变量Scanner sc = new Scanner(System.in);//获取数字System.out.println("请输入一个数字");int n = sc.nextInt();System.out.println("n的值为" + n);//获取字符串System.out.println("请输入一个字符串");String str = sc.next();System.out.println("str的值为" + str);}
}

  Random

  这个random类,它可以用来产生多种数据类型的随机数,在这里我们主要介绍生成整数和小数的方式。

public int nextInt(int maxValue)    产生[0,maxValue)范围的随机整数,包含0,不包含maxValue;
public double nextDouble()  产生[0,1)范围的随机小数,包含0.0,不包含1.0。

  如下:

import java.util.Random;public class RandomDemo {public static void main(String[] args) {// 创建Random类的实例Random r = new Random(); // 得到0-100范围内的随机整数,将产生的随机整数赋值给i变量int i = r.nextInt(100); //得到0.0-1.0范围内的随机小数,将产生的随机小数赋值给d变量double d = r.nextDouble(); System.out.println(i); System.out.println(d); }
}

流程控制

  if语句

    即满足条件就执行,不满足就不执行:

public class IfDemo03 {public static void main(String[] args) {int grade = 75; // 定义学生成绩if (grade > 80) {// 满足条件 grade > 80System.out.println("该成绩的等级为优");} else if (grade > 70) {// 不满足条件 grade > 80 ,但满足条件 grade > 70System.out.println("该成绩的等级为良");} else if (grade > 60) {// 不满足条件 grade > 70 ,但满足条件 grade > 60System.out.println("该成绩的等级为中");} else {// 不满足条件 grade > 60System.out.println("该成绩的等级为差");}}
}

  三元运算符:if语句可以用三元运算符来简写,从而达到简化代码的效果:

判断条件 ? 表达式1 : 表达式2

  int x = 1;
  int y = 0;
  int max = x>y ? x: y;
  System.out.println(max); // 输出1

  

  for循环:

  for循环语句是最常用的循环语句,一般用在循环次数已知的情况下。for循环语句的语法格式如下:

for(初始化表达式; 循环条件; 操作表达式){执行语句………
}

  在上面的语法结构中,for关键字后面()中包括了三部分内容:初始化表达式、循环条件和操作表达式,它们之间用“;”分隔,{}中的执行语句为循环体。

接下来分别用①表示初始化表达式、②表示循环条件、③表示操作表达式、④表示循环体,通过序号来具体分析for循环的执行流程。具体如下:

for(① ; ② ; ③){④
}
第一步,执行①
第二步,执行②,如果判断结果为true,执行第三步,如果判断结果为false,执行第五步
第三步,执行④
第四步,执行③,然后重复执行第二步
第五步,退出循环

实例:

public class ForDemo01 {public static void main(String[] args) {int sum = 0; // 定义变量sum,用于记住累加的和for (int i = 1; i <= 4; i++) { // i的值会在1~4之间变化sum += i; // 实现sum与i的累加
        }System.out.println("sum = " + sum); // 打印累加的和
    }
}

  while循环

  while循环语句和选择结构if语句有些相似,都是根据条件判断来决定是否执行大括号内的执行语句。区别在于,while语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,直到条件不成立,while循环结束。while循环语句的语法结构如下:

while(循环条件){
执行语句
………
}

  在上面的语法结构中,{}中的执行语句被称作循环体,循环体是否执行取决于循环条件。当循环条件为true时,循环体就会执行。循环体执行完毕时会继续判断循环条件,如条件仍为true则会继续执行,直到循环条件为false时,整个循环过程才会结束。

while循环的执行流程如下图所示。

如下实例:

public class WhileDemo {public static void main(String[] args) {int x = 1; // 定义变量x,初始值为1while (x <= 4) { // 循环条件System.out.println("x = " + x); // 条件成立,打印x的值x++; // x进行自增
        }}
}

  do...while循环

  do…while循环语句和while循环语句功能类似,其语法结构如下:

do {
执行语句
………
} while(循环条件);

  在上面的语法结构中,关键字do后面{}中的执行语句是循环体。do…while循环语句将循环条件放在了循环体的后面。这也就意味着,循环体会无条件执行一次,然后再根据循环条件来决定是否继续执行。

do…while循环的执行流程如下图所示。

          

下面是一实例:

public class DoWhileDemo {public static void main(String[] args) {int x = 1; // 定义变量x,初始值为1do {System.out.println("x = " + x); // 打印x的值x++; // 将x的值自增} while (x <= 4); // 循环条件
    }
}

  循环退出和中断

  跳转语句用于实现循环执行过程中程序流程的跳转,在Java中的跳转语句有break语句和continue语句。接下来分别进行详细地讲解。

  1、 break语句

    在switch条件语句和循环语句中都可以使用break语句。当它出现在switch条件语句中时,作用是终止某个case并跳出switch结构。当它出现在循环语句中,作用是跳出循环语句,执行后面的代码。关于在switch语句中使用break前面的例程已经用过了,

  接下来通过下面一段代码,实现将当变量x的值为3时,使用break语句跳出循环,代码如下所示。BreakDemo.java

public class BreakDemo {public static void main(String[] args) {int x = 1; // 定义变量x,初始值为1while (x <= 4) { // 循环条件System.out.println("x = " + x); // 条件成立,打印x的值if (x == 3) {break;}x++; // x进行自增
        }}
}

  2. continue语句

  continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环。接下来通过一个练习对1~100之内的奇数求和,ContinueDemo.java

public class ContinueDemo {public static void main(String[] args) {int sum = 0; // 定义变量sum,用于记住和for (int i = 1; i <= 100; i++) {if (i % 2 == 0) { // i是一个偶数,不累加continue; // 结束本次循环
            }sum += i; // 实现sum和i的累加
        }System.out.println("sum = " + sum);}
}

转载于:https://www.cnblogs.com/tashanzhishi/p/10529765.html

Java 基础 引用数据类型 和 流程控制相关推荐

  1. Java基础语法学习11——流程控制(循环)

    1.whlie循环 案例1:求1-100的累加和 运行结果; 案例2:循环输出26个英文字母,分2行输出 运行结果: 2.do-while循环 案例1:求1-100的累加和 运行结果:  案例2:猜字 ...

  2. C++:C++语言入门级基础知识考察点回顾之基本数据类型、流程控制

    C++:C++语言入门级基础知识考察点回顾之基本数据类型.流程控制 目录 C++的基本数据类型 0.return 的两种实现

  3. Java基础篇(03):流程控制语句,和算法应用

    本文源码:GitHub·点这里 || GitEE·点这里 一.分支语句 流程控制语句对任何一门编程语言都是非常重要的,Java中基于流程控制程序执行的不同步骤和代码块. 1.IF条件 IF条件语句会根 ...

  4. java中引用数据类型

    Java中有俩种数据类型,其中主要有8中基本数据类型和引用数据类型,除了8中基本数据类型以外都是引用数据类型,8中基本数据类型分别是byte,short,int,long,char,boolean,f ...

  5. JAVA基础 :数据类型

    JAVA基础 :数据类型 Java的基本数据类型有8种,分别是**:byte(位).short(短整数).int(整数).long(长整数).float(单精度).double(双精度).char(字 ...

  6. 小汤学编程之JAVA基础day02——数据类型、Scanner类的使用

    一.JAVA的数据类型 1.变量      2.常量     3.基本数据类型     4.引用数据类型     5.数据类型转换 二.Scanner类的使用 1.作用      2.引入     3 ...

  7. java中引用数据类型有哪几种

    本文主要介绍了java中引用数据的类型,具有很好的参考价值.希望对你有帮助.如有错误或不足之处,请不吝赐教. 目录 Java中的引用数据类型有哪些?先说Java中的引用数据类型:1.类别引用2.接口参 ...

  8. 一文带你深入理解【Java基础】· Java基本语法:程序流程控制

    写在前面 Hello大家好, 我是[麟-小白],一位软件工程专业的学生,喜好计算机知识.希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正!谢谢大家!!! ...

  9. JAVA入门基础(5)—— 流程控制

    前言 前面两篇已经了解了java语言基础,本篇开始对java的流程控制进行学习.流程控制对任何一门编程语言都是极为关键的,也是学好java基础中的基础,为控制程序步骤提供基本手段. 复合语句 java ...

最新文章

  1. php5.6.16,OSX 10.11 中重新编译PHP5.6.16问题
  2. linux系统里常用的抓图工具,Linux系统下屏幕截图常用方法
  3. 悬浮截图软件_Windows最好用截图工具,QQ第一,它第二
  4. [react] 可以使用TypeScript写React应用吗?怎么操作?
  5. nginx 怎么重新编译安装mysql,centos 下 编译安装 nginx + mysql + php 服务
  6. python正则表达式提取字符串的字母_Python正则表达式提取一部分字符串
  7. 华为亮相英国首次 5G 直播;百度 AI 接入医院信息系统;小米成立质量办公室 | 极客头条...
  8. win11系统通知怎么取消 Windows11取消系统通知的步骤方法
  9. npm报错core-js@2.6.12: core-js@<3 is no longer maintained and not recommended for usage due to the num
  10. c语言程序功能实现不了,请高手帮忙看看我的程序,编译不报错,但是实现不了功能...
  11. 通过 AnyTrans 将照片从 Mac 传输到 iPhone,无需 iTunes
  12. Charm Bracelet(题目地址链接:https://acs.jxnu.edu.cn/problem/NOIOPJCH02067113)
  13. 闲聊人工智能产品经理(AIPM)—人工智能产品经理工作流程
  14. 无法创建视频捕捉过滤器怎么办
  15. 产业洞察 | 鸿蒙不会用于手机,网民有点心凉!解密操作系统造得出用不起的魔咒...
  16. iphone编程资源站
  17. scrapy解析网页时,针对一些特别格式的数据的处理
  18. 常见离散型随机变量比较
  19. 【1 - 决策树 - 原理部分】菜菜sklearn机器学习
  20. Centos下使用C++操作Redis——hiredis

热门文章

  1. fpga数电基础之--------触发器
  2. 扩展Jquery方法创建LigerUI Grid
  3. antd的table遍历之后添加合计行_付费?是不可能的!20行Python代码实现一款永久免费PDF编辑工具...
  4. jvm中方法区和常量池详解_JVM——内存区域:运行时数据区域详解
  5. 调用feign接口时,如何往header中添加参数
  6. vue中常用的事件修饰符
  7. wp友情链接php代码,为wordpress增加友情链接内页
  8. java异常机制throwable
  9. java for循环效率优化_java 优雅代码for循环 之性能调优
  10. GDAL对空间数据的管理