Java学习入门偏(2)

news2024/11/19 17:44:14

简单说两句

作者:后端小知识

CSDN个人主页:后端小知识

🔎GZH后端小知识

🎉欢迎关注🔎点赞👍收藏⭐️留言📝

Hello,亲爱的各位友友们,好久不见,今天给大家带来一篇学妹写的Java笔记(简洁版)第2篇

【声明】:笔记仅用于学习交流

image-20230907135712931

🥪数据类型与运算符

✨✨数据类型

基本数据类型

java的数据类型:分为基本数据类型(8种)和应用数据类型

整数的表示:byte Short Int Long

浮点数的表示:float double

最高位是0表示是正数,是1表示负数

引用数据类型

引用数据类型使用前必须要定义

枚举和记录用来存储特殊类型的数据

🎨🎨标识符与语句

标识符

标识符命名规则:字母/下划线/美元符+字母/美元符/数字 (长度没有限制,字母有大小写的区别)

注意:用户不能将它们定义为标识符。

🚗🚗变量与赋值

变量=数据类型+变量名+变量值

变量的定义:包括变量的声明和赋值

变量在使用之前必须定义

🚔🚔基本数据类型及字面值

字面值:是某种类型值的表示形式。

类型:基本类型的字面值、字符串字面值及null字面值。

整数类型

表达形式:

\1. 十进制形式

\2. 二进制形式,是以0b/0B开头的数

\3. 八进制形式,是以0开头的数

\4. 十六进制形式,是以0x/0X开头的数

浮点类型

浮点类型:单精度浮点型(float),双精度浮点型(double)

浮点类型定义时,变量值后要加f/F/d/D,不然系统认定时双精度浮点型的变量值

布尔类型

布尔类型数据用来表示逻辑真(true)或假(false)。

布尔类型变量使用boolean关键字声明。

字符类型

字符是程序中可以出现的任何单个符号。

字面值用单引号将字符括起来

表示字符:

‘\ddd’ 例如:‘\141’表示’a’

‘\uxxxx’ 例如:’\u0062’表示’b’

‘a’=97 ‘A’=65 ‘\r’=13 ‘\n’=10

❤❤字符串类型

字符串是通过String类来实现的。用String类声明和创建一个字符串对象。用双引号创建字符串字面值。

算法是解决问题所需的一组逻辑步骤。

🎗🎗数据类型转换

  1. 自动类型转换(加宽转换) 由小到大,字节

  2. 强制类型转换(缩窄转换) 由小到大

eg.

double d=200.5;

 Byte b=(byte)d;  //将double型值强制转换成byte型值

🎁🎁运算符

表达式是由运算符(表示各种不同运算的符号)和操作数(参与运算的各种数据)按一定语法规则组成的符号序列。

算术运算符

算数运算符有加(+)、减(-)、乘(*)、除(/)和取余(%)5个二元运算符和正(+)、负(-)、自增(++)、自减(–)4个一位运算符

1.二位运算符

二位运算符都可以应用与整数和浮点数

2.自增和自减运算符

运算符放在变量前,表示给变量加1后再使用该变量;放在变量之后,表示是使用完该变量后再加1.

逻辑运算符

逻辑运算符左右必须是布尔类型

^ 按位异或:二进制情况下,做不进位加法

🎈结构化编程

👑👑选择结构

基本的程序结构:顺序结构、选择结构和循环结构

单分支if语句

格式:

if(<条件>){

  语句(组);

}

注意:其中<条件>是布尔表达式

双分支if语句

格式:

if(<条件>){

  语句(组)1;

}else{

语句(组)2;

}

输入语句

Scanner scanner = new Scanner(Sywtem.in);

system.out.println();

scanner.nextINT();

switch语句

格式:

Jdk8的格式

switch(<表达式>){

case1:语句(值)1;

case2:语句(值)2;

.....

case值n:语句(值)n;

Default:语句(组)n+1;

}

Jdk12以上版本的格式

switch(<表达式>){

case1->语句(值)1;

case2->语句(值)2;

.....

case值n->语句(值)n;

default->语句(组)n+1;

}

<表达式>中表达式的值必须是byte、short、int、char、enum类型或者string类型

⚽⚽循环结构

一般情况的四个部分:

  1. 初始化部分:设置变量的初值

  2. 循环条件:布尔表达式

  3. 迭代部分:改变变量状态

  4. 循环体部分:重复执行的代码

while循环

一般格式:

 [初始化部分]

 while(<条件>){

//循环体

[迭代部分]

}

一直反复执行循环体,被称为“当型循环”。

do…while循环

一般格式:

[初始化部分]

 do{

//循环体

[迭代部分]

}while(<条件>);

表达式值为true,返回到循环的开始继续执行循环体,直到<条件>的值为false时循环结束。被称为“直到型”循环。

do…while循环至少执行一次循环体。

for循环

一般格式:

for(初始化部分;条件;迭代部分){

//循环体

}

for循环中部分或者全部可以省略,但是;不能省略(跟C语言一样)

死循环可以用break语句或者带标签的break语句结束循环。

循环的嵌套

一个循环的循环体中可以嵌套另一个完整的循环,被称为循环嵌套。

内嵌的循环还可以嵌套循环,这被称为多层循环。

print()println()public的区别:

  1. System.out.print() 参数必填,不会换行。

  2. System.out.println() 参数可以不填,输出完信息后会自动换行

🥂数组

🥪🥪创建和使用数组

一、声明与创建数组

1.声明数组

类型 数组名[]

类型[] 数组名(首选方式)

2.创建数组

一般类型:

数组名=new 数组元素类型[元素个数];

二、访问数组元素

查询数组元素的个数:数组名.length

三、数组初始化器

声明数组的同时初始化数组中的元素,则声明时不需要在[]里面写元素个数。

四、强化的for循环(JDK14)

格式:

for(var identifier:expression){
     //循环体;
     //expression 数组或者集合,identifier 变量,type 数组或者集合中的元素类型
}

生成随机数

Math.random()

随机数设置范围

100+100*Math.random()

*之前为这个随机数的起始范围,最终范围为100+100,范围为[100,200)。如果前面没有加号则为最后的范围,起始范围为0。

固定随机数的类型

int(100+100*Math.random())
三种数组定义方法:
//第一种方法
int[] num={1,2,3,4,5,6,7,8,9,10};
//第二种方法
int[] num2=new int[10];
Scanner scanner=new Scanner(System.in);
for(int i=0;i<nums.length;i++){
    nums[i]=scanner.nextInt();
}
//第三种方法
int[] num3=new int[10];
for(int j=0;j<num3.length;j++){
    //Math.random():生成一个0-1之间的浮点数
    num3[j]=(int)Math.random();
}

👩🏻面对对象编程

💖💖一、类与对象

类: 类似于C语言中的结构体。

访问对象的属性:

System.out.println("第1只猫信息"+cat1.name+""+cat1.age+""+cat1.color);

类和对象的区别和联系:

1.类是抽象的,概念的,代表一类事物,比如人类…,即为数据类型

2.对象是具体的,实际的,代表一个具体事物,即为实例

3.类是对象的模板,对象是类的一个个体,对应一个实例

属性:

1.从概念或叫法上看:成员变量=属性=field字段

2.属性是类的一个组成部分,一般是基本数据类型,也可以引用类型(对象,数组)

注意事项:

1.属性的定义语法同变量,eg.访问修饰符 属性类型 属性名;

控制访问修饰符:控制属性的访问范围。

四种访问修饰符:public,proctected,默认,private

2.属性的定义类型可以为任意类型,包括基本类型或引用类型

3.属性如果不赋值,有默认值,规则和数组一致

对象的默认值,遵守数组的规则

创建对象

先声明再创建:

Cat cat;//声明对象cat
cat=new Cat();//创建

直接创建:

Cat cat=new Cat();

访问属性:

对象名.属性名

【都看到这了,点点赞点点关注呗,爱你们】😚😚

抽象工厂  引导关注

结语

谢谢你的阅读,由于作者水平有限,难免有不足之处,若读者发现问题,还请批评,在留言区留言或者私信告知,我一定会尽快修改的。若各位大佬有什么好的解法,或者有意义的解法都可以在评论区展示额,万分谢谢。
写作不易,望各位老板点点赞,加个关注!😘😘😘

💬

作者:后端小知识

CSDN个人主页:后端小知识

🔎GZH后端小知识

🎉欢迎关注🔎点赞👍收藏⭐️留言📝

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1109530.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

官媒代运营:内容营销是什么?为什么要做内容营销?

在当今数字化时代&#xff0c;信息传播的速度和途径前所未有地广泛&#xff0c;企业们正在寻找新的方法来吸引潜在客户并保持现有客户的忠诚度。在这个背景下&#xff0c;内容营销崭露头角&#xff0c;成为了企业推广和营销的一项重要策略。 今天媒介易来跟大家分享干货知识&am…

Mini小主机All-in-one搭建教程6-安装苹果MacOS系统

笔者使用的ESXI7.0 Update 3 抱着试试的态度想安装一下苹果的MacOS系统 主要步骤有2个 1.解锁unlocker虚拟机系统 2.安装苹果MacOS系统 需要下载的文件 unlocker 这一步是最耗时间的&#xff0c;要找到匹配自己系统的unlocker文件。 https://github.com/THDCOM/ESXiUnloc…

VMware vCenter Server 6.7安装过程记录

0、前言 最近由于一些原因需要安装测试VMware ESXi&#xff0c;无奈所有服务器都是十几年前的&#xff0c;配置低也不支持。后来通过VMware兼容性列表查询&#xff0c;快要放弃的时候发现唯一一台Dell R420&#xff0c;如获至宝。通过查询得知最高支持到6.5 U3&#xff0c;好在…

214. Devu和鲜花

214. Devu和鲜花 - AcWing题库 如果每个盒子里的花的数量是无限的&#xff0c;用隔板法可以得出答案是 现在每个盒子中区的花数要满足n个条件 我们可以求答案的补集&#xff0c;用全部方案数减去补集方案数 每一个不符合条件的要求为&#xff0c;设为Bi 补集方案数为就成了…

内存卡怎么格式化?2个方法就足够!

“我是一名摄影业余爱好者&#xff0c;之前的内存卡里存了很多的文件&#xff0c;导致容量满了。我想将内存卡格式化后继续使用&#xff0c;但是不知道应该如何操作&#xff0c;谁能给些建议吗&#xff1f;” 内存卡格式化是维护存储设备性能和数据安全的关键操作之一。当我们发…

CRM系统在销售目标管理中的作用是什么?

销售管理者为了激励销售人员、评估业绩、进行奖励&#xff0c;往往需要建立一个基本标准&#xff0c;就是人们常说的销售目标。设定销售目标时&#xff0c;既要激励到员工&#xff0c;又不能把标准定得过高。CRM系统在销售目标管理中起到什么作用&#xff1f;该如何通过CRM销售…

yolov作者简介

作者简介 作者叫Joseph Redmon&#xff0c;在谷歌学术上搜索作者的简介。 地址&#xff1a;‪Joseph Redmon‬ -巨人学术搜索‬‬ (cljtscd.com) 他提出了最著名的YOLO算法。其中YOLOV1的引用量达到了40287次。 gitihub地址&#xff1a;github地址 主页&#xff1a;个人主页

复杂业务逻辑的判断与优化

作者 刘希忱 在日常开发工作当中&#xff0c;优秀的用户界面数据库、构建工具、样式预处理器是前端现工作阶段必不可少的三大利器&#xff0c;很多优秀的团队已经为我们提供了很多便利的解决方案&#xff0c;但仍然有很多开发场景需要提升优化&#xff0c;比如声明、输出、判…

Cobalt Strike 钓鱼工具使用

免杀 安装 需要js环境 介绍 obalt Strike是一款基于java的渗透测试神器&#xff0c;常被业界人称为CS神器。自3.0以后已经不在使用Metasploit框架而作为一个独立的平台使用&#xff0c;分为客户端与服务端&#xff0c;服务端是一个&#xff0c;客户端可以有多个&#xff…

mysql varchar int

年龄是数字类型int SELECT * FROM test ORDER BY age; 年龄是字符类型varchar SELECT * FROM test ORDER BY code; 第1种 补前导0可以和数字一样排序 MySQL会比较字符的ASCII值&#xff0c;并根据这些值来确定字符的排列顺序。 印象中oracle好像也是吧。 ASCII (American …

【yolov8目标检测】使用yolov8训练自己的数据集

目录 准备数据集 python安装yolov8 配置yaml 从0开始训练 从预训练模型开始训练 准备数据集 首先得准备好数据集&#xff0c;你的数据集至少包含images和labels&#xff0c;严格来说你的images应该包含训练集train、验证集val和测试集test&#xff0c;不过为了简单说…

2023年10月中国数据库排行榜:墨天轮榜单前五开新局,金仓、亚信热度攀升

怀鸿鹄之志&#xff0c;展骐骥之跃。 2023年10月的 墨天轮中国数据库流行度排行 火热出炉&#xff0c;本月共有286个数据库参与排名。本月排行榜前十名变动较大&#xff0c;**华为 openGauss 重归探花之位&#xff0c;人大金仓 KingBase 热度上升&#xff0c;亚信 AntDB 进军10…

开源软件-禅道Zentao

禅道Zentao 简介漏洞复现SQL注入漏洞**16.5****router.class.php SQL注入** **v18.0-v18.3****后台命令执行** 远程命令执行漏洞&#xff08;RCE&#xff09;后台命令执行 简介 是一款开源的项目管理软件&#xff0c;旨在帮助团队组织和管理他们的项目。Zentao提供了丰富的功能…

Spring Security—Servlet 应用架构

目录 一、Filter&#xff08;过滤器&#xff09;回顾 二、DelegatingFilterProxy 三、FilterChainProxy 四、SecurityFilterChain 五、Security Filter 六、打印出 Security Filter 七、添加自定义 Filter 到 Filter Chain 八、处理 Security 异常 九、保存认证之间的…

关于统信UOS不能使用“modprobe brd”创建内存盘的问题

前言 我自用的电脑内存都比较大&#xff0c;因此很早就养成了使用内存做临时盘的习惯 内存盘的好处很多&#xff0c;比如将系统临时文件夹、浏览器缓存文件等设置到内存盘&#xff0c;不仅可以提升速度&#xff0c;还可以减少对固态硬盘的写入&#xff0c;提升固态盘的使用寿…

金融机器学习方法:回归分析

回归分析是统计学中的一个重要分支&#xff0c;它用于建立一个或多个自变量和一个因变量之间的关联模型。在本博客中&#xff0c;我们将深入探讨线性回归和逻辑回归这两种常见的回归分析方法&#xff0c;并通过Python示例进行分析。 目录 1.线性回归1.1 模型介绍1.2 示例分析 …

使用STM32怎么喂狗 (IWDG)

STM32F1 的独立看门狗&#xff08;以下简称 IWDG&#xff09;。 STM32F1内部自带了两个看门狗&#xff0c;一个是独立看门狗 IWDG&#xff0c;另一个是窗口看门狗 WWDG&#xff0c; 本章只介绍独立看门狗 IWDG&#xff0c;窗口看门狗 WWDG 会在后面章节介绍。 本章要实现的功能…

吉利银河L6征战2023混合动力汽车极限挑战赛获双冠,同级“优等生”不负众望

9月22-9月27日&#xff0c;由中汽信科携手昆明检验中心联合发起的国内首个混动汽车专属赛事2023混合动力汽车极限挑战赛在云南圆满结束。比赛项目涉及纯电续航里程、亏电油耗、高速真实能耗、高原山地极限能耗等多项衡量混动车买点的关键指标。在为期六天的挑战中&#xff0c;这…

java SpringBoot+Vue3打造企业级一体化SaaS系统视频课程,开发ERP与CRM系统实用课程(免费领取)

java SpringBootVue3打造企业级一体化SaaS系统视频课程&#xff0c;开发ERP与CRM系统实用课程&#xff08;免费领取&#xff09; &#xff1a; 查看文末领取课程 第1章 课程导学 1-1 、导学&#xff08;课程简介、ERP与CRM融合成为大趋势&#xff09; 1-2 、课程学习方法&am…

跨境电商商城源码(多语言多商户进出口电商平台)

一、跨境电商商城系统源码包括以下几个部分 前端框架&#xff1a;uni-app,vue 后端框架&#xff1a;ThinkPHP5.wokerman 支付系统&#xff1a;PayPal、USDT等主流支付平台 语言包&#xff1a;跨境电商支持15种语言&#xff0c;后续会增加 前端&#xff1a;包含APP端、小程序端、…