java中的条件、循环和scanner类
if else ;
单行逻辑大括号可以省略;但是不建议省略;
public static void main(String[] args) {boolean bool1 = (Math.random() * 1000) % 2 >= 1;System.out.println((Math.random() * 1000) % 2 + "-" +bool1);if(bool1) {System.out.println('1');} else {System.out.println("2");boolean bool2 = (Math.random() * 1000) % 2 >= 1;if(bool2)System.out.println("3");elseSystem.out.println("4");}boolean bool3 = false;if(bool3 = true) {System.out.println("使用单引号,将true复制给bool3,bool3为true则执行此行");}if(bool3 = false) {System.out.println("使用单引号,将true复制给bool3,bool3为false则不执行此行");}}
*****字符串比较不要用 == 要用equals;
String str = “asd”; str.equals(“asd”);
“==” 表示的是不是一个东西,equals标识的是内容是否一样;
Random.java 中 :如何获取一个随机数;
public class Random {public static void main(String[] args) {// method1:Math.random();返回一个double值:[0.0,1.0)double d1 = Math.random();System.out.println(d1);// int i = (int)(d1 * 100);//[0,99];int i = (int)(d1 * 101);//[0,100];System.out.println(i);// 通用公式:获取[a, b];
// int res = (int)(Math.random() * (b - a + 1) + a);}
}
// 通用公式:获取[a, b];*****
- int res = (int)(Math.random() * (b - a + 1) + a);
switch - case :选择结构;
比较的是==;但是字符串(equals)也能进入逻辑;
switch(表达式);
表达式只能是特定的数据类型;byte/short/char/int;
可以认为就是int;见相关代码:switch.java;之后的新特性(枚举、String)
case 常量: (只能是常量)
default;是可选的而且是灵活的!!!可以放在任何位置;
但是一般都放最后;
public class SwitchTest {public static void main(String[] args) {int i1 = 99;switch (i1) { //括号中是表达式,而非条件表达式;// case 常量1;、case 98:System.out.println("98");break;case 99:System.out.println("99");default:System.out.println("穿透");// break; //有无都一样;一般加上~?}//比较的是==;但是字符串也能进入逻辑(jdk7.0之后可以支持);String str = "99999";switch (str) { //括号中是表达式,而非条件表达式;// case 常量1;、case "99998":System.out.println("98");break;default:System.out.println("穿透");// break; //有无都一样;一般加上~?// default;是可选的而且是灵活的!!!可以放在任何位置;(这里就不会穿透了)case "99999":System.out.println("99");}/*表达式只能是特定的数据类型;byte/short/char/int;可以认为就是int;之后的新特性(枚举、String)*//*double db = 99999.99;switch(db) { //括号中是表达式,而非条件表达式;// case 常量1;、case 99998:System.out.println("98");break;case 99999.99:System.out.println("99");default:System.out.println("穿透");// break; //有无都一样;一般加上~?}*/// : 错误: 不兼容的类型: 从double转换到int可能会有损失/*boolean bool = true;switch(bool) { //不兼容的类型: boolean无法转换为intcase true:System.out.println("1");default:System.out.println("2");}*/int score = 60;switch (score / 60) {case 0:System.out.println("不及格");break;case 1:System.out.println("及格");}System.out.println("===========================");/*利用穿透*/}
}
循环结构:
.for/while/do-while循环;
–for
for(初始化条件;循环条件;迭代部分) {
循环体
}
public static void main(String[] args) {for(;;) {System.out.println("脦脼脤玫录镁拢卢碌楼麓脦脩颅禄路");if(true) break;}for(int i=0;i<10;i++,i++){System.out.println(i);}int res = 0;for(int i=1;i<11;i++) {if(i % 2 == 0) {System.out.println(i);res+=i;}}System.out.println(res);System.out.println("===============================");for(int i =100;i< 1000;i++) {int gw = i%10;int sw = i / 10 % 10;int bw = i / 100;if(i == (gw*gw*gw + sw*sw*sw + bw *bw* bw)) {System.out.println(i);}}}
For
循环结构中;break;结束循环;
初始化条件
while
while(循环条件) {
循环体
迭代
}
*水仙花数;For.java;
可以和for循环相互转换;也可以使用break中断循环;
可以互相转换,就和拉姆达表达式一样可以转换;看情况使用;
do while;
do{
、、无论是否符合条件,先来执行一次。
}while();
public class WhileTest {public static void main(String[] args) {while(true) {System.out.println(1);break;}int i = 0;while(i < 10) {System.out.println(i);i++;}System.out.println("=========");int n = 13;int m = 14;for(int j = 1;;j++) {if((n*j) % m == 0) {System.out.println(n*j);break;}}do{// break; //不可放这里,后面会不执行,报错;System.out.println(1);break;} while(true);}
}
推荐使用:
for: 有明显的循环次数;
while: 没有明显的循环次数;
do-while: 循环块至少执行一次,考虑可以使用;
“无限循环”,嵌套循环;
不确定循环多少次时,可以使用。
while(true){
结合break使用;
};
for(;😉{
//结合break使用;
};
嵌套循环:
continue
if(i % 2 != 0) {continue; //System.out.println(i);// 编译错误: 无法访问的语句;
}
// 放在外面就可以;
System.out.println(i);
注意: *****break和continue;后面不能加执行语句;
见代码:Looptest.java;
标签
带标签的break;continue;见代码LoopTest.java;
同目录下的java文件,不用import导包,直接使用类方法
public class LoopTest {public static void main(String[] args) {// for(){ //错误: 非法的表达式开始;for(;;){// while(true){ //和for效果相同;// Scanner scan = new Scanner(System.in);// int i = scan.nextInt();System.out.println(1);break;}//while() { //错误: 非法的表达式开始while(true) {System.out.println(2);break;}System.out.println("========");// 嵌套循环;for(int i = 1;i<6;i++) {for(int j =0; j<i;j++) {System.out.print("*");}System.out.println();}System.out.println("========");for(int i = 5;i>0;i--) {for(int j =0; j<i;j++) {System.out.print("*");}System.out.println();}System.out.println("========");int ii =0;for(int i =0;i<10;i++) {if(i % 2 != 0) {continue;//System.out.println(i);// 编译错误: 无法访问的语句;}// 放在外面就可以;System.out.println(i);}label:for(int i = 0;i<10;i++) {for(int j =0;j<4;j++) {if(j > 2) {continue label;}System.out.print(j);}System.out.println();}}
}
Scanner类的使用方法;
1、导包:import java.util.Scanner;
2、创建Scanner类的实例;
3、调用scanner类的方法,获取指定类型的变量;
4、关闭资源(避免泄露)。调用close;
—system.lang 包是常用的不用导包;其他包下面的都需要导包;
String str1 = scanner.next(); //具体scanner方法见文档;一般看next方法;
//scanner 没有提供获取char类型的方法;
public class ScannerTest {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入一个字符串: \n");String str1 = scanner.next(); //阻塞住下面;直到写入;System.out.println("str1:" + str1);System.out.println("请输入一个int: \n");// 输入类型不符合时会报错;int i1 = scanner.nextInt();System.out.println(i1);System.out.println("请输入一个double: \n");double d1 = scanner.nextDouble();System.out.println(d1);System.out.println("请输入一个boolean: \n");// 输入类型不符合时会报错;boolean bol1 = scanner.nextBoolean();System.out.println(bol1);System.out.println("请输入一个char: \n");char c1 = scanner.next().charAt(0); //scanner 没有提供获取char类型的方法;System.out.println(c1);// 关闭资源;scanner.close();// 输入类型不符合时会报错}
}
- GC(垃圾回收) 不会认为Scanner 是一个垃圾;可能不会回收;
相关文章:
java中的条件、循环和scanner类
if else ; 单行逻辑大括号可以省略;但是不建议省略; public static void main(String[] args) {boolean bool1 (Math.random() * 1000) % 2 > 1;System.out.println((Math.random() * 1000) % 2 "-" bool1);if(bool1) {System.out.prin…...
【Qt QML】Frame组件
Frame(框架)包含在: import QtQuick.Controls继承自Pane控件。用于在可视框架内布局一组逻辑控件。简单来说就是用来包裹和突出显示其他可视元素。Frame不提供自己的布局,但需要自己对元素位置进行设置和定位,例如通过…...
Web API之DOM
DOM 一.认识DOM二.获取元素三.事件基础四.操作元素(1).改变元素内容(2).修改元素属性(str、herf、id、alt、title)(3).修改表单属性(4).修改样式属性操作(5).小结 五.一些思想(1).排他思想(2).自定义属性的操作 六.节点操作1.认识2.节点层级关系3.创建和添加、删除、…...
windows驱动开发-内核编程技术汇总(六)
在驱动程序中使用文件 内核模式组件通过其对象名称引用文件,该对象名称是连接到文件的完整路径的 \DosDevices 。 在 Microsoft Windows 2000 及更高版本的操作系统上, \?? 等效于 \DosDevices。例如,C:\WINDOWS\example.txt 文件的对象名…...
Windows Server 2019虚拟机安装
目录 第一步、准备工作 第二步、部署虚拟机 第三步、 Windows Server 2019系统启动配置 第一步、准备工作 下载Windows Server 2019系统镜像 官网下载地址:Windows Server 2019 | Microsoft Evaluation Center VMware Workstation 17下载地址: 链…...
【软件工程】详细设计
目录 前言详细设计算法设计工具——判定表 前言 软件工程生命周期分为八个阶段: 问题定义—>可行性研究—>需求分析 —>概要设计—>详细设计—>编码与单元测试 —>综合测试—>软件维护 这节我们讲的是软件开发流程中的一个阶段,需求…...
在K8S中,集群可以做哪些优化?
在Kubernetes(简称K8s)集群中,可以进行多种优化以提升性能、稳定性和资源利用率。以下是一些常见的优化措施: 控制面组件优化: kube-apiserver 高可用与扩展:通过配置多个API服务器实例并使用负载均衡器分发…...
【C++】从零开始认识多态
送给大家一句话: 一个犹豫不决的灵魂,奋起抗击无穷的忧患,而内心又矛盾重重,真实生活就是如此。 – 詹姆斯・乔伊斯 《尤利西斯》 _φ(* ̄ω ̄)ノ_φ(* ̄ω ̄)&…...
为什么叫“机器学习”Machine Learning 而不是“计算机学习”——深度学习Note
有一门学科“机器学习”火了起来,它是计算机科学与数学结合的产物,它的目的是使计算机“聪明”起来,实现人工智能。可是,令人困惑的是它明明就是计算机学习,为什么不叫“计算机学习”而叫“机器学习”呢?这…...
Spring Boot集成RabbitMQ-之6大模式总结
A.集成 一:添加依赖 在pom.xml文件中添加spring-boot-starter-amqp依赖,以便使用Spring Boot提供的RabbitMQ支持: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp&…...
后端开发面经系列 -- 滴滴C++一面面经
滴滴C一面面经 公众号:阿Q技术站 来源:https://www.nowcoder.com/feed/main/detail/38cf9704ef084e27903d2204352835ef 1、const在C和C区别,const定义的类成员变量如何初始化? 区别 C中的const: 在C中,c…...
Three.js的几何形状
在创建物体的时候,需要传入两个参数,一个是几何形状【Geometry】,一个是材质【Material】 几何形状主要是存储一个物体的顶点信息,在Three中可以通过指定一些特征来创建几何形状,比如使用半径来创建一个球体。 立方体…...
设计模式——单例模式(Singleton)
单例模式(Singleton Pattern)是设计模式中的一种,它确保一个类只有一个实例,并提供一个全局访问点来访问这个唯一实例。这种模式在多种场景下都非常有用,比如配置文件的读取、数据库连接的创建、线程池的管理等。 实现…...
springboot3项目练习详细步骤(第二部分:文章分类模块)
新增文章分类 接口文档 业务实现 参数校验 文章分类列表 接口文档 业务实现 获取文章分类详情 接口文档 业务实现 更新文章分类 接口文档 业务实现 分组校验 问题 概念 实现步骤 总结 删除文章分类 接口文档 业务实现 该模块大部分请求的路径相同&…...
VUE中父组件向子组件进行传值
在 Vue 中,父组件向子组件传值主要通过在子组件的标签上绑定属性(props)的方式来实现。以下是一个具体的示例。 父组件(ParentComponent.vue): <template><div><!-- 父组件中使用子组件,并传…...
alpine安装中文字体
背景 最近在alpine容器中需要用到中文字体处理视频,不想从本地拷贝字体文件, 所以找到了一个中文的字体包font-droid-nonlatin,在此记录下。 安装 apk add font-droid-nonlatin安装好后会出现在目录下/usr/share/fonts/droid-nonlatin/ 这…...
JavaScript学习—JavaScript高级
原型链和继承 在 JavaScript 中,每个对象都有一个原型(prototype),这个原型指向另一个对象。这个链式的原型关系被称为原型链。当访问一个对象的属性时,如果该对象没有该属性,它会沿着原型链向上查找&…...
CompletableFuture使用案例
优化代码时,除了Async注解,项目中如何使用多线程异步调用? 举个例子,去餐厅吃饭的时候。先点餐,厨师做菜,在厨师做菜的时候打游戏,然后根据厨师做的菜的口味去买矿泉水还是可乐。这样࿰…...
安卓使用so库
最近需要给小伙伴扫盲一下如何使用Android Studio 生成一个SO文件,网上找了很多都没有合适的样例,那只能自己来写一个了。 原先生成SO是一个很麻烦的事情,现在Android Studio帮忙做了很多的事情,基本只要管好自己的C代码即可。 …...
【介绍下LeetCode的使用方法】
🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…...
图图的嗨丝造相-Z-Image-Turbo效果对比:8bit vs 16bit精度推理对渔网袜边缘锐度的影响
图图的嗨丝造相-Z-Image-Turbo效果对比:8bit vs 16bit精度推理对渔网袜边缘锐度的影响 1. 引言:当AI绘画遇上“渔网袜”细节 最近在玩一个挺有意思的AI绘画模型——图图的嗨丝造相-Z-Image-Turbo。这个模型专门针对“大网渔网袜”这种特定服饰的生成做…...
OFA模型在零售行业的视觉问答应用案例
OFA模型在零售行业的视觉问答应用案例 1. 引言 走进任何一家现代零售商店,你都会看到成千上万的商品整齐地陈列在货架上。但对于店员来说,要快速准确地回答"这个品牌的洗发水有没有无硅油版本?"或者"这款饼干是否含有坚果成…...
【Linux】深入理解进程调度:从nice值到实时优先级(RT Priority)的进阶指南
1. Linux进程调度基础:从nice值说起 第一次接触Linux进程调度时,我被那个叫"nice值"的概念搞懵了。为什么用"nice"这个词?后来才明白,这个命名其实很形象——越"nice"的进程越谦让,愿意…...
OpenClaw赋能金融投研:17个高效应用案例详解
扫描下载文档详情页: https://www.didaidea.com/wenku/16666.html...
3步打造纯净音乐体验:铜钟音乐开源播放器技术解析
3步打造纯净音乐体验:铜钟音乐开源播放器技术解析 【免费下载链接】tonzhon-music 铜钟 (Tonzhon.com): 免费听歌; 没有直播, 社交, 广告, 干扰; 简洁纯粹, 资源丰富, 体验独特!(密码重置功能已回归) 项目地址: https://gitcode.com/GitHub_Trending/t…...
TextGrad部署与性能优化:生产环境最佳实践
TextGrad部署与性能优化:生产环境最佳实践 【免费下载链接】textgrad Automatic Differentiation via Text -- using large language models to backpropagate textual gradients. 项目地址: https://gitcode.com/gh_mirrors/te/textgrad TextGrad是一款基于…...
【Python】利用Python实现微信公众号文章定时自动发布
1. 微信公众号自动发布的基础原理 很多人可能不知道,微信公众号其实提供了完整的开发者接口,允许我们通过代码来管理内容。这就像给你的公众号装了一个遥控器,不用每天手动登录后台点点戳戳。我最早发现这个功能时,简直像发现了新…...
Halcon实战:5个距离计算算子怎么选?从点到区域,手把手教你避坑
Halcon距离计算算子实战指南:从原理到避坑策略 在工业视觉项目中,精确测量各类几何元素之间的距离是常见需求。Halcon作为业界领先的机器视觉库,提供了distance_pp、distance_pr、distance_lr等系列距离计算算子。但很多工程师在实际应用中常…...
Bioconductor注释包全解析:从缩写规则到实战应用
1. Bioconductor注释包入门指南 第一次接触Bioconductor注释包时,我完全被那些奇怪的缩写搞懵了。Hs、Mm、Rn这些看起来像密码的字母组合,其实是生物信息学分析中最常用的工具标识。就像医生需要熟悉药品缩写一样,搞生物数据分析也得掌握这套…...
如何用res-downloader实现无水印视频下载?5大场景全攻略
如何用res-downloader实现无水印视频下载?5大场景全攻略 【免费下载链接】res-downloader 资源下载器、网络资源嗅探,支持微信视频号下载、网页抖音无水印下载、网页快手无水印视频下载、酷狗音乐下载等网络资源拦截下载! 项目地址: https://gitcode.c…...
