当前位置: 首页 > ds >正文

Java 学习笔记(基础篇2)

1. 分支结构

① if 语句:

(1) 双分支:

if (条件) {// 语句体1
} else {// 语句体2
}

(2) 多分支

if (条件1) {// 语句体1
} else if (条件2) {// 语句体2
} else {// 语句体N
}

② switch 语句:

(1) 语法:如果都不是(default),就推荐招牌

switch (变量) {case 值1:// 语句1;break;case 值2:// 语句2;break;...default:// 默认语句;break;
}

(2) 注意:

  • 表达式:(将要匹配的值)取值为byte、short、int、char
  • case:后面跟的是要和表达式进行比较的值
  • break:跳出循环,不能缺省,否则会造成 case 穿透
  • default:都不匹配时执行该处内容
  • case 后面的值只能是字面量,不能是变量
  • case 后面的值不能重复

2. 循环结构

① 跳转控制语句

(1)break 语句
  • 作用:终止当前 forwhiledo...while 语句,跳出循环
  • 示例
for (int i = 1; i <= 5; i++) {System.out.println("i = " + i);if (i == 3) {break;}
}
// 输出:1, 2
(2)continue 语句
  • 作用:跳过本次循环,继续下一次循环。
  • 示例
for (int i = 1; i <= 5; i++) {if (i == 3) {continue;}System.out.println("i = " + i);
}
// 输出:1, 2, 4, 5

② 循环高级综合练习:

(1) 回文数:

请编写一个 Java 程序,实现判断一个整数是否为回文数的功能。回文数是指从左向右读和从右向左读都一样的整数(例如 12321)。要求程序通过反转整数的数字后与原数比较,来判断该整数是否为回文数,并输出反转后的数字以及判断结果(true 表示是回文数,false 表示不是)。(第二天记得写一下)

public class test15 {public static void main(String[] args) {// 定义要判断的整数(此处以12321为例,这是一个回文数)int x = 12321;// 保存原数到temp变量(因为后续x的值会被修改)int temp = x;// 定义num变量,用于存储反转后的数字,初始值为0int num = 0;// 循环提取x的每一位数字,直到x变为0(所有位都被提取完毕)while (x != 0) {// 取x的最后一位数字(通过对10取余实现)// 例如x=12321时,12321%10=1int ge = x % 10;// 去掉x的最后一位数字(通过除以10实现,整数除法会自动舍去小数部分)// 例如x=12321时,12321/10=1232x = x / 10;// 将提取的末位数字拼接到num的末尾// 例如第一次循环:num=0*10+1=1// 第二次循环:num=1*10+2=12(此时x已变为1232,提取的是2)num = num * 10 + ge;}// 输出反转后的数字(对于12321,反转后还是12321)System.out.println(num);// 比较反转后的数字与原数是否相等,相等则为回文数(输出true)System.out.println(num == temp);}
}

num = num * 10 + ge:

  • num * 10给当前结果 “腾出最后一位”(比如 3 变成 30,留出位置给下一个数字)。
  • + ge把新取的末尾数字(ge)放到腾出的位置上(比如 30 + 2 = 32)。

(2) 求平方根

接收用户输入的一个整数,通过程序计算并输出该整数的平方根。具体要求如下:

  1. 程序需要提示用户输入一个整数
  2. 使用循环从 2 开始依次判断,找到该整数的平方根
  3. 如果该整数是完全平方数(即平方根为整数),则输出 "x 就是 y 的平方根"(其中 x 是平方根,y 是输入的整数)
  4. 如果该整数不是完全平方数,则输出其整数部分的平方根,格式同样为 "x 就是 y 的平方根"(例如输入 10 时,输出 3 就是 10 的平方根)

(第二天记得写一下)

public class test16 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个整数");int number = sc.nextInt();for (int i = 2; i <= number; i++) {if (i * i == number) {System.out.println(i + "就是" + number + "的平方根");break;} else if (i * i > number) {System.out.println((i - 1) + "就是" + number + "的平方根");break;}}}
}

(3) 判断输入整数是否为质数(第二天记得写一下)

public class test17 {public static void main(String[] args) {boolean flag = true;Scanner sc = new Scanner(System.in);System.out.println("请输入一个整数");int number = sc.nextInt();for (int i = 2; i <= number - 1; i++){if (number % i == 0){flag = false;break;}}if (flag){System.out.println(number + "是质数");} else{System.out.println(number + "不是质数");}}
}
  • 当 i 循环到 number 本身时,number % i 一定等于 0(任何数都能被自己整除)
  • boolean flag = true用一个标记变量默认标记为 “是质数”

(4) Random:产生一个随机数

使用步骤
(1)导包:import java.util.Random;
(2)创建对象:Random r = new Random();
(3)获取随机数:int number = r.nextInt(10); //获取数据的范围:[0,10],包括0,不包括10

http://www.xdnf.cn/news/18005.html

相关文章:

  • Docker build创建镜像命令入门教程
  • **超融合架构中的发散创新:探索现代编程语言的挑战与机遇**一、引言随着数字化时代的快速发展,超融合架构已成为IT领域的一种重要趋势
  • ts概念讲解
  • Vue 3 + TypeScript:package.json 示例 / 详细注释说明
  • 基于Java飞算AI的Spring Boot聊天室系统全流程实战
  • 快速部署一个鉴黄服务
  • 前端vue框架
  • 【机器人-开发工具】ROS 2 (4)Jetson Nano 系统Ubuntu22.04安装ROS 2 Humble版本
  • 【Java 后端】Spring Boot 集成 JPA 全攻略
  • Nginx学习笔记(九)—— Nginx Rewrite深度解析
  • 版本更新!FairGuard-Mac加固工具已上线!
  • win11右键菜单改回win10样式
  • Data Augmentation数据增强
  • EtherCAT概念介绍
  • EchoEar喵伴接入小聆AI,MCP服务轻松体验,智能升级!
  • 低配硬件运行智谱GLM-4.5V视觉语言模型推理服务的方法
  • 如何基于langchain基类LLM自定义大模型
  • 飞算JavaAI开发全流程解析:从自然语言到可运行工程的智能进化
  • 从零开始学Python之数据结构(字符串以及数字)
  • 深入解析 Chrome UI 布局配置的设计思想与实现机制
  • STL算法【常用的算数生成算法】
  • vue3+leaflet案例:告警系统GIS一张图(附源码下载)
  • 基于大语言模型的爬虫数据清洗与结构化
  • 手机实时提取SIM卡打电话的信令声音-整体解决方案规划
  • 《WebGL中FBO的底层运行逻辑》
  • Day57--图论--53. 寻宝(卡码网)
  • 【前端工具】使用 Node.js 脚本实现项目打包后自动压缩
  • 计算机视觉(opencv)实战三——图像运算、cv2.add()、cv2.addWeighted()
  • Docker + Cronicle + Traefik 搭建服务器计划任务工具
  • nginx入门需知(含安装教程)