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

Java基础入门day04

day04

包可以用来区分相同的类名

将相同的类放在不同包下,可以进行存储

一个目录下没有办法存在两个同名的文件

包最终在文件系统中与文件目录结构是一一对应的

在不同包下可以存放相同类名的文件

包后期还可以实现项目中模块的精确划分,controller,service,dao

语法结构:
在类的非注释代码的第一行,使用
package xxx.xxx.xxx;
那么当前类就被防止在对应的包下
如下代码中,CountSocre类被放置在com.saas.class03包下
在文件系统中,在com目录下,有一级目录叫saas,而saas目录下又有一级目录class03,在class03目录下存放了CountScore.java文件
package com.saas.class03;
​
public class CountScore {
}
​

运算符

算术运算符

关系运算符

在现实世界中,可能会存在两个变量的相互关系问题:

乌龟比大象长寿

商品楼比别墅高

别墅比商品楼贵

最终进行比较之后的结果是一个逻辑值真或者假

运算符号:

> >= < <= == !=
运算符运算完成后的结果是boolean值,要么是true,要么是false,后期可以使用关系运算符在进行判断
注意,Java中的两个值判断是否相等,使用的是两个等号,一个等号是用来做赋值的,只有两个等号用来做判断的
不等于的写法是!=
package com.saas.op;
​
public class TestOp02 {
​public static void main(String[] args) {double height1 = 2.0;double height2 = 1.8;
​System.out.println(height1 > height2);System.out.println(height1 < height2);System.out.println(height1 == height2);System.out.println(height1 >= height2);System.out.println(height1 <= height2);System.out.println(height1 != height2);
​}
}

逻辑运算符

两个逻辑值进行运算,最终的运算结果继续是逻辑值

&&:代表与运算,只有两个结果为true的值经过运算之后得到的结果才为true

||:代表或运算,只要两个值中有一个或一个以上的值为true,则得到的结果为true

!: 非运算,取反操作,遇真变假,遇假变真

短语与非短路对比

package com.saas.op;
​
public class TestOp04 {
​public static void main(String[] args) {int i = 10;
​
//        System.out.println(i > 0 || i / 0 == 0);  //  短路或,第一个表达式的值已经为true了,则后面的表达式不做运算,即使后面的表达式运算过程会出错,但是由于它不被执行,所以错误不会出现
//        System.out.println(i > 0 | i / 0 == 0);   //  普通或,第一个表达式的值为true,后面的表达式还要继续执行,在之后后面表达式的过程中出错,所以整个结果出错
//        System.out.println(i < 0 && i / 0 == 0);  //  短路与,第一个表达式的值为false,后面的表达式不执行,所以整个结果为falseSystem.out.println(i < 0 & i / 0 == 0);     //  普通与,第一个表达式的值为false,后面的表达式要继续执行,所以整个结果出错}
}
​

三元运算符

语法结构:

将判断后的结果赋值给变量

逻辑类型的变量或者表达式 ? 表达式1 : 表达式2;
package com.saas.op;
​
public class TestOp06 {
​public static void main(String[] args) {boolean isRainy = false;
​String result = isRainy ? "睡觉" : "逛街";
​System.out.println(result);}
}
​
package com.saas.op;
​
public class TestOp05 {
​public static void main(String[] args) {int week = 7;
​String rest = week >5 ? "休息" : "上课";System.out.println(rest);}
}
​

赋值运算符

=,将右值赋值给左值,右值可能是常量,可能是变量,可能是表达式,但是必须是确定的有最终结果的值。

+=, -=, *=, /=, &= 复合赋值运算符,特点是可以自动进行类型的处理,无需程序员手动处理

package com.saas.op;
​
public class TestOp08 {
​public static void main(String[] args) {int i = 10;
​i = i + 9;
//        i = i + 9.9;
​System.out.println(i);
​
//        i += 100;           //  +=等同于i = i + 100;i += 9.9;System.out.println(i);
​System.out.println("==============");
​int j = 10;
​j += 9.9;System.out.println(j);}
}

位运算符

移位运算符

思考题

byte a = 128;
short b = 65;
float f = 9.9;
char c1 = '65';
char c2 = 65;
String j = "   123  ";

思考:

package com.saas.op;public class TestAutoConvert {public static void main(String[] args) {double d = 9;System.out.println(d);long l = 9999;System.out.println(l);}
}

自动类型转换

小类型转成大类型数据,可以实现自动转换,无需任何额外操作,

但是原本小数据占用的空间后面将占据大类型的空间

double d = 9; 原本9是int类型,只需要占用四个字节的空间即可,

而现在将int类型的值赋值给double类型的d,那么d将占用八个字节的空间。

强制类型转换:

大类型转换为小类型,则必须要进行强制类型转换,其语法格式:

小数据类型 小数据类型变量 = (小数据类型)大数据类型的值;
int i = (int)9.9;

强制类型转换必须要进行代码的处理,否则编译报错,但是强制类型转换会面临数据的精度丢失问题。

package com.saas.op;public class TestForceConvert {public static void main(String[] args) {int i = (int)9.9;System.out.println(i);byte s = (byte)0b1111111111;System.out.println(s);}
}

控制台输入

程序在运行过程中,可以有用户自主的输入一些内容,再让程序做相应的执行

语法结构:

Scanner类的使用,分为三个步骤:

  1. 导包:import java.util.Scanner;

  2. 创建Scanner对象

  3. 使用Scanner对象完成用户输入的接收

注意:java.lang包下的所有资源可以不必导入而直接使用

只要不在java.lang包或者同包下,需要使用其他类型的资源时,就必须要导入

package com.saas.op;import java.util.Scanner;public class TestScanner01 {public static void main(String[] args) {int i = 10;System.out.println(i);System.out.println("===============");Scanner scanner = new Scanner(System.in);int money = scanner.nextInt();System.out.println(money);}
}
package com.saas.op;import java.util.Scanner;public class TestScanner02 {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("请输入姓名:");String name = input.next();System.out.println("请输入年龄:");int age = input.nextInt();System.out.println("请输入性别:");boolean sex = input.nextBoolean();System.out.println("请输入身高:");double height = input.nextDouble();System.out.println("姓名:\t" + name + "\n年龄:\t" + age + "\n性别:\t" + (sex? "男" : "女") + "\n身高:\t" + height);}
}

相关文章:

Java基础入门day04

day04 包 包可以用来区分相同的类名 将相同的类放在不同包下&#xff0c;可以进行存储 一个目录下没有办法存在两个同名的文件 包最终在文件系统中与文件目录结构是一一对应的 在不同包下可以存放相同类名的文件 包后期还可以实现项目中模块的精确划分&#xff0c;controller,…...

中值定理j

f ( n ) ( ξ ) 0 f^{(n)}(\xi)0 f(n)(ξ)0...

第2篇【Docker项目实战】使用Docker部署Raneto知识库平台(转载)

【Docker项目实战】使用Docker部署Raneto知识库平台 一、Raneto介绍 1.1 Raneto简介 Raneto是一个免费、开放、简单的 Markdown 支持的 Node.js 知识库。 1.2 知识库介绍 知识库 知识库是指存储和组织知识的系统或库&#xff0c;它包括了各种类型的信息和知识&#xff0c;如…...

【Javascript】 Promise 对象(二)

【Javascript】 Promise 对象&#xff08;一&#xff09;-CSDN博客 Promise.all() Promise.all()方法用于将多个 Promise 实例&#xff0c;包装成一个新的 Promise 实例。 const p Promise.all([p1, p2, p3]);上面代码中&#xff0c;Promise.all()方法接受一个数组作为参数&…...

细说C++反向迭代器:原理与用法

文章目录 一、引言二、反向迭代器的原理与实现细节三、模拟实现C反向迭代器反向迭代器模板类的设计反向迭代器的使用示例与测试 一、引言 迭代器与反向迭代器的概念引入 迭代器&#xff08;Iterator&#xff09;是C标准模板库&#xff08;STL&#xff09;中的一个核心概念&am…...

SpringBoot(依赖管理和自动配置)

文章目录 1.基本介绍1.springboot是什么&#xff1f;2.快速入门1.需求分析2.环境配置1.确认开发环境2.创建一个maven项目3.依赖配置 pom.xml4.文件目录5.MainApp.java &#xff08;启动类&#xff0c;常规配置&#xff09;6.HelloController.java &#xff08;测试Controller&a…...

cad怎么转换成黑白的pdf图纸?分享3个常用的软件!

在工程设计、建筑、机械制造等领域&#xff0c;CAD图纸的应用非常广泛。然而&#xff0c;有时出于某些需要&#xff0c;我们可能需要将CAD图纸转换为黑白的PDF格式。那么&#xff0c;如何实现这一转换呢&#xff1f;本文将为您详细介绍几种常用的转换软件及其操作步骤。 迅捷CA…...

maven本地仓库依赖上传到远程仓库

本地仓库上传到远程仓库 批量上传&#xff1a; 批量本地仓库依赖&#xff08;jar包&#xff09;上传脚本&#xff1a; #!/bin/bash # copy and run this script to the root of the repository directory containing files # this script attempts to exclude uploading itse…...

ISIS多区域实验简述

为支持大型路由网络&#xff0c;IS-IS在路由域内采用两级分层结构。 IS-IS网络中三种级别的路由设备&#xff1a;将Level-1路由设备部署在区域内&#xff0c;Level-2路由设备部署在区域间&#xff0c;Level-1-2路由设备部署在Level-1和Level-2路由设备的中间。 实验拓扑图&…...

go语言基础笔记

1.基本类型 1.1. 基本类型 bool int: int8, int16, int32(rune), int64 uint: uint8(byte), uint16, uint32, uint64 float32, float64 string 复数&#xff1a;complex64, complex128 复数有实部和虚部&#xff0c;complex64的实部和虚部为32位&#xff0c;complex128的实部…...

kettle 9.4和Pentoho 9.4下载及安装方法简介

kettle 9.4和Pentoho 9.4下载及安装方法简介 下载地址&#xff1a; https://sourceforge.net/projects/pentaho/files/ 下载步骤&#xff1a; #------------- 一、点击选项卡&#xff1a;summary/ 二、点击第一行链接 https://www.hitachivantara.com/en-us/products/pentaho…...

社交革命的引领者:探索Facebook如何改变我们的生活方式

1.数字社交的兴起 随着互联网的普及&#xff0c;社交媒体成为我们日常生活的重要组成部分。Facebook作为其中的先驱&#xff0c;从最初的社交网络演变成了一个拥有数十亿用户的全球化平台。它不仅改变了我们与世界互动的方式&#xff0c;还深刻影响了我们的社交习惯、人际关系以…...

常用的推荐算法

推荐系统在帮助用户发现可能感兴趣的产品、服务或信息方面发挥着重要作用。下面是一些常用的推荐算法&#xff1a; 1. 协同过滤 用户基于协同过滤&#xff08;User-Based Collaborative Filtering&#xff09; 基于用户之间的相似性为用户推荐物品。算法会找出与目标用户兴趣…...

使用Python进行图片格式转化/分辨率转化

一.下载python PIY插件库 PIP下载命令: pip install pillow -i https://mirrors.aliyun.com/pypi/simple PIY插件库:pillow Installation - Pillow (PIL Fork) 10.3.0.dev0 documentation 二.分辨率转化 from PIL import Image import osresolution (1024, 1024) with Image…...

植物神经功能紊乱患者每天从5片黛力新减少至2片,只因找对了治疗方法!

植物神经功能紊乱是一种常见的心理疾病&#xff0c;其症状包括焦虑、失眠、疲劳、头痛、胃肠不适等&#xff0c;给患者带来很大的困扰。然而&#xff0c;这种疾病是可以治疗的。本文将介绍一位植物神经功能紊乱患者的治疗经历&#xff0c;希望能够帮助更多的人了解和治疗此病。…...

SpringSecurity 快速入门

文章目录 1. 认证授权概述1.1 认证授权概念1.1.1 认证1.1.2 授权 1.2 权限数据模型1.3 RBAC权限模型1.3.1 介绍1.3.2 基于角色访问控制1.3.3 基于资源访问控制 1.4 常见认证方式1.4.1 Cookie-Session1.4.2 jwt令牌无状态认证 1.5 技术实现 2. SpringSecurity入门2.1 介绍2.2 入…...

MySQL--执行一条 select 语句,期间发生了什么?

执行一条 SQL 查询语句&#xff0c;期间发生了什么&#xff1f; 连接器&#xff1a;建立连接&#xff0c;管理连接、校验用户身份&#xff1b;查询缓存&#xff1a;查询语句如果命中查询缓存则直接返回&#xff0c;否则继续往下执行。MySQL 8.0 已删除该模块&#xff1b;解析 …...

DeepL:word文档导出后不能编辑

参考解决用DeepL翻译文档后不能编辑问题_deepl翻译出来的文档怎么编辑-CSDN博客 1、将deepL导出的word文档另存为.xml文件 2、将.xml文件以txt格式打开&#xff0c;查找内容&#xff1a;<w:documentProtection&#xff0c;删除整个标签&#xff08;包括<w: ...>&…...

PCL 约束Delaunay三角网(版本二)

目录 一、算法概述二、代码实现三、结果展示四、测试数据本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法概述 PCL 点云Delaunay三角剖分一文给出了PCL中Delaunay三角网算法的基础用法。本文在基础用法的基…...

位运算#蓝桥杯

位运算#蓝桥杯 文章目录 位运算#蓝桥杯1、小蓝学位运算2、异或森林3、位移4、笨笨的机器人5、博弈论 1、小蓝学位运算 #include<bits/stdc.h> using namespace std; using LL long long; const LL N 1e97; template<int kcz> struct ModInt { #define T (*this)…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

Android15默认授权浮窗权限

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

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...