IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> day04 -> 正文阅读

[开发工具]day04

Scanner对象(用户交互)

基本语法:

Scanner s = new Scanner(System.in);

通过Scanner类的next()与nextline()方法获取输入的字符串,再读取我们一般需要使用hasNext()与hasNextline()判断是否还有输入的数据

  • next():

? 一定要读取到有效的字符后才可以结束输入。

? 对输入有效字符串之前遇到的空白,next()方法会自动将其去掉

? 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符

? next()不能得到带有空格的字符串

  • nextLine():

? 以Enter为结束符,也就是说,nextLine()方法返回的是输入回车之前的所有的字符

? 可以获得空白

选择结构

if单选择结构

很多时候我们需要去判断一个东西是否可行,然后我们再去执行,这样一个程序用if语句来表示

语法

if (布尔表达式){
    //如果布尔表达式为true将执行的语句
}

if双选择结构

语法

if (布尔表达式){
    //如果布尔表达式的值为true
}else{
    //如果布尔表达式的值为flase
}

if多选择结构

语法

if (布尔表达式 1){
    //如果布尔表达式 1的值为true
}else if(布尔表达式 2){
    //如果布尔表达式 2的值为true
}else if(布尔表达式 3{
    //如果布尔表达式 3的值为true
}else{
    //如果以上的布尔表达式都不为true
}

switch多选择结构

多选择结构还有一个实现方式就是Switch case语句

Switch case语句判断一个变量与一系列值中的某一个值是否相等,每个值称为一个分支

Switch语句中的变量可以是:

  • byte,short,int,char
  • Switch 支持字符串String类型了
  • 同时,case标签必须为字符串常量或者字面量
  • 语法
switch(expression){
    case value :
        //语句
        break;//可选
    case value:
        //语句
        break;//可选
        // 可以有无数个case语句
    default//语句
        //语句
}

IDEA反编译(看源码)

  • 先在project structure中找到路径打开复制
  • 再打开open in explorer中对应的文件位置,粘贴刚刚复制的,返回刚刚的IDEA即可看到01文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NJtQFnDD-1632315613723)(C:\Users\Administrator.SC-201906191125\AppData\Roaming\Typora\typora-user-images\image-20210922092535089.png)]

循环结构

while循环

结构

while(布尔表达式){
    //循环内容
}
  • 只要布尔值为True,循环就会一直执行下去
  • 我们需要一个让表达式失效的方式来结束循环

do while循环

do{
    //代码语句
}while(布尔表达式);

while与do while的区别

  • while先判断后执行,do while是先执行后判断
  • do while至少被执行一次

for循环

  • for循环语句是支持迭代的一种通用结构,是最有效的,最灵活的循环结构
  • for循环执行的次数是执行前就确定的,格式如下:
for(初始化;布尔表达式,更新){
    //代码语句
}
***100.for  //自动生成for循环!***
for(;;;)//死循环

注意

print 输出完不会换行

println输出完会换行

增强for循环

  • 这里先了解,之后数组会重点使用,
  • java5引入了一种主要用于数组或集合的增强型for循环
  • 格式
for(声明语句:表达式)
{
//代码句子
}
  • 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等
  • 表达式;表达式是要访问数组名,或者是返回值为数组的方法

方法

什么是方法

我直接把方法理解成函数

组成

方法包含一个方法头和方法体

修饰符 返回值类型 方法名(参数类型 参数名){
    ...
    方法体
    ...
    return 返回值;
}

方法调用

  • 调用方法:对象名.方法名(实参列表)
  • java支持两种调用方法的方式,根据方法上是否返回值来选择。
  • 当方法返回一个值时,方法调用通常被当做一个值。例如:
int larger = max(30,40);
  • 如果方法返回值是void,方法调用的一定是一条语句
System.out.println("Hello,xiatian")//return 0:终止方法

java是值传递

方法的重载

重载就是在一个类中,有相同的函数名称,但是形参不同的函数。

方法重载的规则:

  • 方法名称必须相同
  • 参数列表必须不同(个数不同,或类型不同,参数排列顺序不同等)
  • 方法的返回值类型可以相同也可以不同
  • 仅仅返回值类型不同不足以成为方法的重载

命令行传参

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-018Sx3o3-1632315613725)(C:\Users\Administrator.SC-201906191125\AppData\Roaming\Typora\typora-user-images\image-20210922194258427.png)]

可变参数

  • jdk1.5开始,java支持传递同类型的可变参数给一个方法
  • 在方法的声明中,在指定参数类型后加一个省略号(…)
  • 一个方法中只能指定一个可变参数,他必须是方法的最后一个参数,任何普通的参数必须在他之前声明

递归

  • 递归头:什么时候不调用自身方法,如果没有头,将陷入死循环
  • 递归体:什么时候需要调用自身方法

数组

  • 首先必须声明数组变量,才能在程序中使用数组
dataType[] arrayRefVar;首选方法
或
dataType arrayRefVar[];//效果相同,但不是首选方法
  • Java语言使用new操作符来创建数组
dataType[] arrayRefVar = new dataType[arraySize];
  • 数组元素是通过索引来访问的,数组下标从开始

数组的特点

  • 其长度是确定的,数组一旦被创建,他的大小不允许被改变
  • 其元素必须是相同的类型,不允许出现混合类型
  • 数组中元素可以是任何数据类型,包括基本类型和引用类型
  • 数组变量属于引用类型,数组也可以看成对象,数组中的每个元素相当于该对象的成员变量
  • 数组本身就是对象,java中对象是在堆中的,因此数组中无论保存原始类型还是其他对象类型,数组对象本身是在堆中
  • 数组名.Length:获取数组长度

三种初始化

静态初始化

int[] a = {1,2,3,4,5,6};
Man[] mans = {new Man(1,1),new Man(2,2)};

动态初始化

int[] a = new int[10];
a[9]=1;
a[8]=7;

数组默认初始化:

数组是引用类型,他的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例额变量同样的方式被隐式初始化

在堆中**

  • 数组名.Length:获取数组长度

三种初始化

静态初始化

int[] a = {1,2,3,4,5,6};
Man[] mans = {new Man(1,1),new Man(2,2)};

动态初始化

int[] a = new int[10];
a[9]=1;
a[8]=7;

数组默认初始化:

数组是引用类型,他的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例额变量同样的方式被隐式初始化

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-09-23 11:39:21  更:2021-09-23 11:40:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:15:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码