Java02(流程控制、Scanner、数组、标准输出、String)_java 标准输出和scanner区别-程序员宅基地

技术标签: Java  java  

流程控制

顺序

从上到下依次执行
eg.
在这里插入图片描述
输出
在这里插入图片描述

分支

单路分支 if

  • 使用场景 做条件的补充
    eg.
    在这里插入图片描述
    输出
    在这里插入图片描述

两路分支 if else

eg.
在这里插入图片描述
输出
在这里插入图片描述

多路分支 if else if…

在这里插入图片描述
输出
在这里插入图片描述

switch case 开关语句

  • switch 只能做==比较
  • 在jdk1.7之前 只能做byte short int char的比较 1.7后可以做String的比较 即switch后的括号内可以使用String类型
    eg.
    在这里插入图片描述
    break的注意事项:如果每条case中没有使用break,则会一直执行到遇到break为止
    输出:
    在这里插入图片描述

循环

while

while(表达式)
{
    
	循环体
}
#表达式为true 执行循环体 
#表达式为false 跳出循环体

eg.
在这里插入图片描述
输出
在这里插入图片描述

do while

do
{
    
	循环体
}while(表达式);
#先执行语句 后判断表达式
#表达式为false 跳出循环

eg.
在这里插入图片描述
输出:
在这里插入图片描述

for

与C语言中的一致
eg.
在这里插入图片描述
输出:
在这里插入图片描述

forEach

与for对比来看比较清晰
forEach只能遍历数组
eg.
在这里插入图片描述
输出:
在这里插入图片描述

递归

递归也是一种循环
递归的思想是自己调用自己
eg.
在这里插入图片描述
输出
在这里插入图片描述

控制语句

java语言中的控制语句与C中一致

  • break 跳出当前语句块
  • continue 跳出本次循环 执行下一次循环
  • return 返回当前方法 只要执行了return 当前方法就结束了
    break
    eg.
    在这里插入图片描述
    输出
    在这里插入图片描述
    可见,截至在i=5时退出了循环

continue
eg。
在这里插入图片描述
输出
在这里插入图片描述
可以看出 ,没有6的输出,因为结束了本次循环,直接进行了下一次循环

return
eg.
在这里插入图片描述
输出:
在这里插入图片描述
在return之后结束了程序,而不是只结束了循环,因为ok没有被输出

Scanner用法

  • java.util.Scanner 是Java5的新特征
  • 通过创建Scanner对象来获取用户输入
    eg.
    在这里插入图片描述
    在这里插入图片描述
    使用scanner接收数据类型基本都是next数据类型()

在这里插入图片描述
在这里插入图片描述
有必要说一下next()和nextLine()的区别

  • next() 一定要读到有效字符后才可以结束输入 在未读到有效字符前,所遇到的空白字符,都会被自动去掉
  • next()是以空格作为分隔符或结束符的 所以不能输入带有空格的字符串
  • nextLine() 以Enter为结束符 即nextLine()会返回输入回车前的所有字符
  • nextLine() 可以接收空格

Scanner的hasNext方法

  • Scanner中有多个hasNext方法,如hasNextInt()、hasNextDouble()、hasNextFloat()、hasNext和hasNextLine
  • 这些hasNext方法用来判断是否输入的下一字符是Int、Double等类型的

数组

数组:一组相同数据类型、固定长度的集合

一维数组

未赋值时使用的是类型的默认值
如int 默认值为0

创建数组方式1
在这里插入图片描述
在这里插入图片描述
创建数组方式2
在这里插入图片描述
在这里插入图片描述

多维数组

多维数组可以看成是数组的数组
比如二维 :可以看成是特殊的一维数组 每个数组的元素又是一个数组
在这里插入图片描述
在这里插入图片描述

标准输出

  • Java通过系统类System实现标准的输入/输出功能
  • 定义了三个流变量 in out err
    这三个流变量都是静态变量 可以直接通过System类进行调用
  • System.in 标准输入 从键盘获取数据
  • System.out 标准输出 将数据输出到控制台或屏幕
  • System.err 标准错误输出 将数据输出到控制台或屏幕

这里只显示System.out的运行
在这里插入图片描述
在这里插入图片描述

String

String java提供了String类帮助我们方便操作字符串

  • String 是一个引用数据类型 特殊的引用数据类型
  • 当使用String str=new String(“abc”)时 保存在堆空间
  • 当使用String str="abc"时 保存在栈空间

String类常用API的演示

charAt(int index) 返回指定索引处的char值

在这里插入图片描述
在这里插入图片描述

compareTo(String s) 按字典序比较两个字符串

在这里插入图片描述
在这里插入图片描述

compareToIgnoreCase(String s) 按字典顺序比较两个字符串 不考虑大小写

在这里插入图片描述
在这里插入图片描述
ps:在两个字符串长度一致时,返回的是第一个不同字符相差的Unicode码

concat(String s) 将字符串连接到字符串的结尾

在这里插入图片描述
在这里插入图片描述

contains(String s) 判断一个字符串是否包含另外一个字符串

在这里插入图片描述
在这里插入图片描述

endsWith(String s) 判断字符串的后缀

可用于对文件类型的判断
在这里插入图片描述
在这里插入图片描述

equals (Object anObject) 比较两个字符串对象

在这里插入图片描述
在这里插入图片描述

format (String s,Object args) 按照格式输出字符串

在这里插入图片描述
在这里插入图片描述

indexOf(String s) 获取指定字符串 在当前字符串的位置

在这里插入图片描述
在这里插入图片描述

replace(charSequence target,charSequence replacement) 使用replacement替换target

在这里插入图片描述
在这里插入图片描述

split() 按照参数分割字符串

在这里插入图片描述
在这里插入图片描述

substring(int beginIndex) 从beginIndex开始截取字符串

在这里插入图片描述
在这里插入图片描述

toCharArray() 将此字符串转换为一个新的字符数组

在这里插入图片描述
在这里插入图片描述

toLowerCase()/toUppercase() 将字符串中的所有字符转换为小写/大写

在这里插入图片描述
在这里插入图片描述

trim() 返回字符串的副本 忽略前导空白和尾部空白

在这里插入图片描述
在这里插入图片描述

valueOf() 将任意类型的数据类型转换为字符串

在这里插入图片描述
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Dean_xiu/article/details/107166339

智能推荐

十六进制与字节数组转换_bytearraytohexstring-程序员宅基地

文章浏览阅读7.2k次。前段时间开发手持机上的软件,因为A8手持机的射频卡可存储的内容太小,并且需要存储16进制数据,因此就写了一个工具类。上代码:package cn.com.szh;import java.io.UnsupportedEncodingException;public class Main { public static void main(String[] args) { Stri..._bytearraytohexstring

对每个边缘求最小外接矩形,通过最小矩形提取每个边缘_边缘的最小外接矩形-程序员宅基地

文章浏览阅读4.9k次。#include #include using namespace std;using namespace cv;int main(){Mat src; //源图像Mat tmp; //临时图像Mat dst_bw; //去掉背景后的目标二值图像Mat dst_contours;//轮廓图像src=imread("E:\\单板图片\\求孔洞数_边缘的最小外接矩形

【设计模式】中介者-程序员宅基地

文章浏览阅读865次。中介者,说白了跟市面上黑中介类似。当然这个中介,开发者是可以控制其行为的。也是在一定的信任关系上建立的。该模式要解决的问题是,一堆对象之间交叉耦合问题。网上看过群聊的例子。如果没有任何一个平台,多人之间的会话会是什么样的呢?不举多人,就三个吧A想把一句话说给BC,那么他首先要知道B和C在哪儿,然后分别告诉对方,自己想说的事情。如果再加一个人呢?问题很明显,此时各种群聊工具应运而生。我写

Mysql列自增是怎么实现的_mysql 自增序列生成原理-程序员宅基地

文章浏览阅读1.8k次。AUTO_INCREMENT两种情况1、在载入语句执行前,已经不确定要插入多少条记录。在执行插入语句时在表级别加一个auto-inc锁,然后为每条待插入记录的auto-increment修饰的列分配递增的值,语句执行结束后,再把auto-inc锁释放掉。一个事务再持有auto-inc锁的过程中,其他事务的插入语句都要被阻塞,可以保证一个语句中分配的递增值是连续的。AUTO-INC锁的..._mysql 自增序列生成原理

半导体器件基础_掺杂半导体的带隙-程序员宅基地

文章浏览阅读3.5k次,点赞2次,收藏17次。半导体能带结构示意图:上方两条白色带为没有电子填充的带,下面三条灰色带为充满电子的带,其中最高一条灰色带为价带,它与最低一条白色带之间的空隙为能隙空穴又称电洞(Electron hole),在固体物理学中指共价键上流失一个电子,最后在共价键上留下空位的现象导带(英语:conduction band),又名传导带,是指半导体或是绝缘体材料中,一种电子所具有能量的范围。这个能量的范围高..._掺杂半导体的带隙

基于C++和OpenCV的中心线提取算法_图像中心线提取c++-程序员宅基地

文章浏览阅读3.5k次,点赞2次,收藏26次。基于C++和OpenCV的中心线提取算法加权平方灰度重心法介绍算法演示加权平方灰度重心法介绍详情见 https://blog.csdn.net/u010518385/article/details/101015604算法演示下面展示 函数-输入图像和阈值,输出点。void get_median_line(Mat& src, int thresh, vector<Point2d>& points){ if (src.empty()) return; // 一、_图像中心线提取c++

随便推点

Hive中mapjoin优化例子_hive使用mapjoin实例-程序员宅基地

文章浏览阅读3.2k次。1 基本信息3个表,1个事实表,2个维度表事实表 test_fact (mid string,sex_id string,age_id string )维度表dim_user_demography_age (age_id string,age_name string )维度表dim_user_demography_sex (sex_id string,sex_name strin..._hive使用mapjoin实例

大学四年,从小白到大神,全网最硬核算法学习攻略,不接受反驳-程序员宅基地

文章浏览阅读2.6k次,点赞18次,收藏118次。说到算法的学习方式,对我来说,真的没有什么捷径之类的,就是像我上面说的,先找本书死磕入门数据结构,就跟着书的例子,把例子跑起来就好了,跑起来也不是一件简单的事情。之后就去接触下一些算法思想,后面就可以分类刷题了,刷题就是最好的捷径了。当然,不要 AC 之后就完事了,应该尽可能寻找最优解,当你积累了一定的题量,那么你真的会发现自己变强了,突然感觉递归也就那么一回事。_算法学习

解决ERR! request to http://registry.cnpmjs.org/echarts failed, reason: getaddrinfo ENOTFOUND 报错问题_getaddrinfo enotfound registry.cnpmjs.org-程序员宅基地

文章浏览阅读2.1k次,点赞9次,收藏12次。这里我看其他博主运行完 config set registry https://registry.npm.taobao.org/这个之后又运行了npm install -g cnpm --registry=https://registry.npm.taobao.org ,结果我还是一直报错,可能是没理解其他博主的意思,反正运行完config set registry https://registry.npm.taobao.org/之后直接安装就好了。如果是其他,你使用的是代理,需要在 npm 中配置代理。_getaddrinfo enotfound registry.cnpmjs.org

QT 出现“找不到libgcc_s_dw2-1.dll”的解决方式_qt打包缺少libgcc_s_dw2-1.dll-程序员宅基地

文章浏览阅读5k次。在使用QT时,运行程序时,可能出现QT找不到DLL的问题,这种情况大多数情况是因为没有将QT添加到环境变量的原因。解决方式:我的电脑-高级设置-环境变量将QT的两个bin文件目录路径添加到环境变量中,即可解决这个问题!..._qt打包缺少libgcc_s_dw2-1.dll

Socket网络编程-程序员宅基地

文章浏览阅读1.5w次,点赞15次,收藏74次。Socket1 环境查看通过cmd窗口的命令:ipconfig查看本机IP地址查看网络情况是否正常:ping百度官网用来进行本地测试的地址 127.0.0.1,回环测试地址,默认代表的就是本机的IP2 Socket概述socket编程也叫套接字编程,应用程序可以通过它发送或者接受数据,可对其像打开文件一样打开/关闭/读写等操作.套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信.网络套接字是IP地址与端口号TCP协议的组合Socket就是为网络编程提供的一_socket网络编程

java mp3格式转wav,在Java中将mp3转换为WAV-程序员宅基地

文章浏览阅读574次。I installed the mp3spi to support reading mp3 files in my Java 8 project usng the javax.sound* libraries. My goal now is to write mp3 to a wav file. However, the result is incorrect. Here's the code i..._java mp3转wav