Java笔记三
包机制:
为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。
包语句的语法格式为:
pack pkg1[. pkg2[. pkg3...]];
般利用公司域名倒置作为包名;如com.baidu.com,如图

导包:
为了能够使用某一个包的成员,需要在Java程序中明确导入该包。使用“import”语句可完成此功能
import package[.package2...].(classname|*);
JavaDoc
生成自己的API文档

◆@author作者名
◆@version版本号
◆@since指明需要最早使用的jdk版本
◆@param参数名
◆@return返回值情况x BI UA.图三当您楼
◆@throws异常抛出情况
Scanner对象
我们可以通过Scanner类来获取用户的输入。
◆基本语法:`Scanner s = new Scanner(System. in);`

可以看到输入的是Hello world但是输出的是Hello
◆通过Scanner类的next()与nextLine方法获取输入的字符串,在读取前我们一-般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
import java.util.Scanner;public class work1 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);System.out.println("使用nextLine方式接收");//判断是否还有输入if (scanner.hasNextLine()){//使用next方式接收String str= scanner.nextLine();//程序会等待用户输入完毕System.out.println("输出的内容为:"+str);}scanner.close();}
}

next与nextLine的区别
◆next():
◆1、一定要读取到有效字符后才可以结束输入。
◆2. 对输入有效字符之前遇到的空白, next() 方法会自动将其去掉。
◆3.只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
◆4、next()不能得到带有空格的字符串。
◆nextLine():
◆1、以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
◆2、可以获得空白。
进阶使用实例:
import java.util.Scanner;public class work2 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);int i=0;float f=0.0f;System.out.println("请输入整数:");//如果...那么if (scanner.hasNextFloat()){i = scanner.nextInt();System.out.println("整数数据:"+i);}else {System.out.println("输入的不是整数数据!");}System.out.println("请输入小数:");//如果...那么if (scanner.hasNextFloat()){f = scanner.nextFloat();System.out.println("小数数据:"+f);}else {System.out.println("输入的不是小数数据!");}scanner.close();}
}
求和与平均值示例代码:
public class day4 {public static void main(String[] args) {//输入多个数字,求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来借宿输入并输出执行结果Scanner scanner=new Scanner(System.in);//和double sum=0;//计算输入了多少个数字int m=0;//通过循环判断是否还有输入,并在里面对每一次进行求和和统计while (scanner.hasNextDouble()){double x=scanner.nextDouble();m=m+1;sum=sum+x;System.out.println("你输入了第"+m+"个数据,然后当前结果sum="+sum);}System.out.println(m+"个数的和为"+sum);System.out.println(m+"个数的平均值是"+(sum/m));}
}
单选择结构if...else...实例
public class work3 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);System.out.println("请输入内容:");String s=scanner.nextLine();//equals:判断字符串是否相等if (s.equals("Hello")){System.out.println(s);}else System.out.println("End");scanner.close();}
}
选择语句switch case实例
public class work4 {public static void main(String[] args) {//case穿透 //switch匹配一个具体的值char grade='C';switch (grade){case 'A':System.out.println("优秀");break;//可选case 'B':System.out.println("良好");case 'C':System.out.println("及格");case 'D':System.out.println("再接再厉");case 'E':System.out.println("挂科");default://可选System.out.println("未知等级");}}
}

1+2+3+...+100=?
while案例
public class work5 {public static void main(String[] args) {//计算1+2+3+...+100=?int i=0;int sum=0;while (i<=100){sum=sum+i;i++;}System.out.println(sum);}
}
do...while案例
public class work6 {public static void main(String[] args) {int i=0;int sum=0;do {sum=sum+i;i++;}while (i<=100);System.out.println(sum);}
}
while与do while的区别
◆while先判断后执行。dowhile是先执行后判断!
◆Do...while总是保证循环体会被至少执行一次!这是他们的主要差别。
代码解释如下:
public class work7 {public static void main(String[] args) {int a=0;while (a<0){System.out.println(a);a++;}System.out.println("=============");do {System.out.println(a);a++;}while (a<0);}
}

for实例
实例一:100以内奇数与偶数的和
public class work8 {public static void main(String[] args) {int oddSum=0;//奇数的和int evenSum=0;//偶数的和for (int i = 0; i <=100; i++) {if (i%2!=0){oddSum+=i;}else {evenSum+=i;}}System.out.println("技术的和:"+oddSum);System.out.println("偶数的和:"+evenSum);}
}
实例二:输出1-1000之间能被5整除的数,并且每行输出3个
public class work9 {public static void main(String[] args) {for (int i = 0; i < 1000; i++) {if (i%5==0){System.out.print(i+"\t");}if (i%(5*3)==0){System.out.println();//每三个换一行//System.out.println("\n");}}}
}
println 输出完会换行
print 输出完不会换行
九九乘法表
public class work11 {public static void main(String[] args) {for (int j = 1; j <= 9; j++) {for (int i = 1; i <= j; i++) {System.out.print(i + "*" + j + "=" + (j * i)+"\t");}System.out.println();}}
}

用两个循环使用两个乘数都增大,使用i<j去除多余项,注意print不换行,println换行,也就是乘数j每增大1换一行
增强for循环
增强for循环语法格式如下:
for(声明语句:表达式)
{
//代码句子
}
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问的数组名,或者是返回值为数组的方法
break与continue
break:跳出这个循环但代码继续往下运行如:
public class work13 {public static void main(String[] args) {int i=0;while (i<100){i++;System.out.println(i);if(i==30){break;}}System.out.println("123");}
}

continue:在循环语句中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定
public class continuework {public static void main(String[] args) {int i=0;while(i<100){i++;if (i%10==0) {System.out.println("no");continue;}System.out.println(i);}}
}

打印三角形案例
public class sanjiao {public static void main(String[] args) {for (int i = 1; i <= 5; i++) {//5行的一个三角for (int j = 5; j >= i; j--) {System.out.print(" ");}for (int j = 1; j <= i; j++) {System.out.print("*");}//打印左半个三角for (int j = 1; j < i; j++) {System.out.print("*");}//打印右半个三角System.out.println();}}
}
学习资源来自哔哩哔哩——遇见狂神说——狂神说Java
相关文章:
Java笔记三
包机制: 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。 包语句的语法格式为:pack pkg1[. pkg2[. pkg3...]]; 般利用公司域名倒置作为包名;如com.baidu.com,如图 导包: 为了能够…...
ElementUI之首页导航与左侧菜单
目录 一、Mock 1.1 什么是Mock.js 1.2 安装与配置 1.2.1 安装mock.js 1.2.2 引入mock.js 1.3 mock.js使用 1.3.1 定义测试数据文件 1.3.2 mock拦截Ajax请求 1.3.3 界面代码优化 二、总线 2.1 定义 2.2 类型分类 2.3 前期准备 2.4 配置组件与路由关系 2.4.1 配置…...
java项目之在线教育资源管理系统(ssm源码+文档)
项目简介 在线教育资源管理系统实现了以下功能: 管理员:个人中心、学生管理、教师管理、公告信息管理、课程信息管理、试题管理、留言板管理、管理员管理、试卷管理、系统管理、考试管理。学生:个人中心、留言板管理、考试管理,…...
C/S架构学习之UDP服务器
UDP服务器的实现流程:一、创建用户数据报套接字(socket函数):通信域选择IPV4网络协议、套接字类型选择数据报式; int sockfd socket(AF_INET,SOCK_DGRAM,0); 二、填充服务器的网络信息结构体:1.定义网络信…...
磁盘占用率100% 的优化方案
1.禁用不必要的系统服务 右键点击此电脑,打开管理 打开服务 寻找SysMain 右键属性 》 禁用 》 停止 》 应用 SysMain的作用:当开机后,windows会加载大量的应用程序预加载到内存中,会在后台预加载数据(如果是旧版本win…...
vue组件的通信
文章目录 组件通信父传子父传子:通过prop来进行通信 子传父先在父组件用注册方法 , 在子组件触发使用 emit 函数 组件间通信-平行组件使用事件总线的方法,也就是把整个vue提出来,当为一个事件总线 其他组件通信父组件 provide来提供变量,然后再子组件中通过inject来注入变量 组…...
(搞定)排序数据结构(1)插入排序 选择排序+冒泡排序
目录 本章内容如下 一:插入排序 1.1插入排序 1.2希尔排序 二:选择排序 2.1选择排序 三:交换排序 3.1冒泡排序 一:插入排序 1.1直接插入排序 说到排序,其实在我们生活中非常常见&…...
C++ 类访问修饰符 public、private、protected
数据封装是面向对象编程的一个重要特点,它防止函数直接访问类类型的内部成员。类成员的访问限制是通过在类主体内部对各个区域标记 public、private、protected 来指定的。关键字 public、private、protected 称为访问修饰符。 一个类可以有多个 public、protected…...
pytorch学习笔记——BCE与CE
BCELoss的话只需要网络输出一个通道,CE Loss(Cross Entropy Loss)需要输出n_class个通道。 对于二分类任务可以使用CE Loss输出两个通道,也可以使用BCE Loss输出一个通道。 https://www.jianshu.com/p/5b01705368bb https://zhuanlan.zhihu.com/p/372628…...
win使用git(保姆级教程)
序言 上学期间用的git并不多,但是从研三实习以及后面工作来看,git是一项必备技能,所以在此来学习一下。 下载git安装包 打开网站,根据需求来下载;一般按照如下方式进行下载: 然后安装的时候记得按下图勾…...
Python图像处理-----几何变换
文章目录 一、图像几何变换理论二、图像平移2.1 使用数学公式的实现方式为:2.2 使用矩阵实现的方式为2.3 使用opencv三、图像缩放3.1 用数学式子表示为公式(a为缩放系数):3.2 用矩阵表示如公式所示:一、图像几何变换理论 图像几何变换不改变图像的像素值,在图像平面上进行像…...
如何正确选择研究方向?如何实现论文创新?
学术评价是遵循“质量第一”原则的,所以对于研究生来说,从一开始就要把路子走正,自觉树立精品意识,把精力高度集中到提高学位论文的质量上来。这里,根据本人多年来指导博士和硕士研究生的体会,就人文社科研究生学位论文的选题与创新略述管见。 学位论文选题的两个层面 …...
Postgresql源码(113)表达式JIT计算简单分析
相关 《Postgresql源码(85)查询执行——表达式解析器分析(select 11如何执行)》 《Postgresql源码(113)表达式JIT计算简单分析》 1 普通表达式计算 普通表达式计算发生在优化器preprocess_expression中&am…...
CMU15-213 课程笔记 04-Floating Point
文章目录 浮点数如何用二进制表示IEEE 浮点数标准IEEE 浮点数实现IEEE 浮点数在内存里 E exp - bias 计算指数M 1.xxx 尾数计算举例:对一个浮点数进行转换一些关于浮点数的计算等等 浮点数如何用二进制表示 计算机内部的浮点数不是这样存在内存里的(至…...
DockerKubernetes ❀ Service下Port端口区分
文章目录 概述案例 概述 在Kubernetes中,Service(svc)是一种抽象机制,用于将一组 Pod 暴露给其他应用程序或服务。Service 可以有三种类型的端口: nodePort:这是 Service 在节点上公开的端口。可以使用此…...
【C++】笔试训练(一)
目录 一、选择题二、编程1、组队竞赛2、删除公共字符 一、选择题 1、以下for循环的执行次数是() for (int x 0, y 0; (y 123) && (x < 4); x);A 是无限循环 B 循环次数不定 C 4次 D 3次 答案:C 2、以下程序的运行结果是&…...
数据结构与算法之集合: Leetcode 349. 两个数组的交集 (Typescript版)
两个数组的交集 https://leetcode.cn/problems/intersection-of-two-arrays/description/ 描述 给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1 输入:nums1 [1,2,…...
Unity 内存性能分析器 (Memory Profiler)
一、 安装 安装有两种方式一: add package : com.unity.memoryprofiler方式二: From Packages : Unity Registry 搜索 Memory Profiler 二、 使用 打开:Windows - > Analysis - > Memory Profiler 打开MemoryProfiler界面࿰…...
前端携带Bearer Token
前端携带Bearer Token 在前端使用 axios 发送请求时,可以通过设置请求头来携带 Bearer Token。Bearer Token 是一种常用的身份验证方式,它通常用于 OAuth2 授权流程中。 要在 axios 中携带 Bearer Token,可以通过设置 Authorization 请求头…...
leetcode 周赛 364
参考视频: 单调栈【力扣周赛 364】 文章目录 8048. 最大二进制奇数100049. 美丽塔 I100048. 美丽塔 II100047. 统计树中的合法路径数目 8048. 最大二进制奇数 题目链接 给你一个 二进制 字符串 s ,其中至少包含一个 1 。 你必须按某种方式 重新排列 字…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
