当前位置: 首页 > 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)…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

Python如何给视频添加音频和字幕

在Python中&#xff0c;给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加&#xff0c;包括必要的代码示例和详细解释。 环境准备 在开始之前&#xff0c;需要安装以下Python库&#xff1a;…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...