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

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笔记三

包机制&#xff1a; 为了更好地组织类&#xff0c;Java提供了包机制&#xff0c;用于区别类名的命名空间。 包语句的语法格式为&#xff1a;pack pkg1[. pkg2[. pkg3...]]; 般利用公司域名倒置作为包名&#xff1b;如com.baidu.com&#xff0c;如图 导包&#xff1a; 为了能够…...

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源码+文档)

项目简介 在线教育资源管理系统实现了以下功能&#xff1a; 管理员&#xff1a;个人中心、学生管理、教师管理、公告信息管理、课程信息管理、试题管理、留言板管理、管理员管理、试卷管理、系统管理、考试管理。学生&#xff1a;个人中心、留言板管理、考试管理&#xff0c;…...

C/S架构学习之UDP服务器

UDP服务器的实现流程&#xff1a;一、创建用户数据报套接字&#xff08;socket函数&#xff09;&#xff1a;通信域选择IPV4网络协议、套接字类型选择数据报式&#xff1b; int sockfd socket(AF_INET,SOCK_DGRAM,0); 二、填充服务器的网络信息结构体&#xff1a;1.定义网络信…...

磁盘占用率100% 的优化方案

1.禁用不必要的系统服务 右键点击此电脑&#xff0c;打开管理 打开服务 寻找SysMain 右键属性 》 禁用 》 停止 》 应用 SysMain的作用&#xff1a;当开机后&#xff0c;windows会加载大量的应用程序预加载到内存中&#xff0c;会在后台预加载数据&#xff08;如果是旧版本win…...

vue组件的通信

文章目录 组件通信父传子父传子:通过prop来进行通信 子传父先在父组件用注册方法 , 在子组件触发使用 emit 函数 组件间通信-平行组件使用事件总线的方法,也就是把整个vue提出来,当为一个事件总线 其他组件通信父组件 provide来提供变量,然后再子组件中通过inject来注入变量 组…...

(搞定)排序数据结构(1)插入排序 选择排序+冒泡排序

目录 本章内容如下 一:插入排序 1.1插入排序 1.2希尔排序 二&#xff1a;选择排序 2.1选择排序 三:交换排序 3.1冒泡排序 一:插入排序 1.1直接插入排序 说到排序&#xff0c;其实在我们生活中非常常见&…...

C++ 类访问修饰符 public、private、protected

数据封装是面向对象编程的一个重要特点&#xff0c;它防止函数直接访问类类型的内部成员。类成员的访问限制是通过在类主体内部对各个区域标记 public、private、protected 来指定的。关键字 public、private、protected 称为访问修饰符。 一个类可以有多个 public、protected…...

pytorch学习笔记——BCE与CE

BCELoss的话只需要网络输出一个通道&#xff0c;CE Loss(Cross Entropy Loss)需要输出n_class个通道。 对于二分类任务可以使用CE Loss输出两个通道&#xff0c;也可以使用BCE Loss输出一个通道。 https://www.jianshu.com/p/5b01705368bb https://zhuanlan.zhihu.com/p/372628…...

win使用git(保姆级教程)

序言 上学期间用的git并不多&#xff0c;但是从研三实习以及后面工作来看&#xff0c;git是一项必备技能&#xff0c;所以在此来学习一下。 下载git安装包 打开网站&#xff0c;根据需求来下载&#xff1b;一般按照如下方式进行下载&#xff1a; 然后安装的时候记得按下图勾…...

Python图像处理-----几何变换

文章目录 一、图像几何变换理论二、图像平移2.1 使用数学公式的实现方式为:2.2 使用矩阵实现的方式为2.3 使用opencv三、图像缩放3.1 用数学式子表示为公式(a为缩放系数):3.2 用矩阵表示如公式所示:一、图像几何变换理论 图像几何变换不改变图像的像素值,在图像平面上进行像…...

如何正确选择研究方向?如何实现论文创新?

学术评价是遵循“质量第一”原则的,所以对于研究生来说,从一开始就要把路子走正,自觉树立精品意识,把精力高度集中到提高学位论文的质量上来。这里,根据本人多年来指导博士和硕士研究生的体会,就人文社科研究生学位论文的选题与创新略述管见。 学位论文选题的两个层面 …...

Postgresql源码(113)表达式JIT计算简单分析

相关 《Postgresql源码&#xff08;85&#xff09;查询执行——表达式解析器分析&#xff08;select 11如何执行&#xff09;》 《Postgresql源码&#xff08;113&#xff09;表达式JIT计算简单分析》 1 普通表达式计算 普通表达式计算发生在优化器preprocess_expression中&am…...

CMU15-213 课程笔记 04-Floating Point

文章目录 浮点数如何用二进制表示IEEE 浮点数标准IEEE 浮点数实现IEEE 浮点数在内存里 E exp - bias 计算指数M 1.xxx 尾数计算举例&#xff1a;对一个浮点数进行转换一些关于浮点数的计算等等 浮点数如何用二进制表示 计算机内部的浮点数不是这样存在内存里的&#xff08;至…...

DockerKubernetes ❀ Service下Port端口区分

文章目录 概述案例 概述 在Kubernetes中&#xff0c;Service&#xff08;svc&#xff09;是一种抽象机制&#xff0c;用于将一组 Pod 暴露给其他应用程序或服务。Service 可以有三种类型的端口&#xff1a; nodePort&#xff1a;这是 Service 在节点上公开的端口。可以使用此…...

【C++】笔试训练(一)

目录 一、选择题二、编程1、组队竞赛2、删除公共字符 一、选择题 1、以下for循环的执行次数是&#xff08;&#xff09; for (int x 0, y 0; (y 123) && (x < 4); x);A 是无限循环 B 循环次数不定 C 4次 D 3次 答案&#xff1a;C 2、以下程序的运行结果是&…...

数据结构与算法之集合: Leetcode 349. 两个数组的交集 (Typescript版)

两个数组的交集 https://leetcode.cn/problems/intersection-of-two-arrays/description/ 描述 给定两个数组 nums1 和 nums2 &#xff0c;返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1 输入&#xff1a;nums1 [1,2,…...

Unity 内存性能分析器 (Memory Profiler)

一、 安装 安装有两种方式一&#xff1a; add package : com.unity.memoryprofiler方式二&#xff1a; From Packages : Unity Registry 搜索 Memory Profiler 二、 使用 打开&#xff1a;Windows - > Analysis - > Memory Profiler 打开MemoryProfiler界面&#xff0…...

前端携带Bearer Token

前端携带Bearer Token 在前端使用 axios 发送请求时&#xff0c;可以通过设置请求头来携带 Bearer Token。Bearer Token 是一种常用的身份验证方式&#xff0c;它通常用于 OAuth2 授权流程中。 要在 axios 中携带 Bearer Token&#xff0c;可以通过设置 Authorization 请求头…...

leetcode 周赛 364

参考视频&#xff1a; 单调栈【力扣周赛 364】 文章目录 8048. 最大二进制奇数100049. 美丽塔 I100048. 美丽塔 II100047. 统计树中的合法路径数目 8048. 最大二进制奇数 题目链接 给你一个 二进制 字符串 s &#xff0c;其中至少包含一个 1 。 你必须按某种方式 重新排列 字…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...