JAVA学习笔记- - - day 1

article/2025/9/22 16:16:04

💕前言:作者是一名正在学习JAVA的初学者,每天分享自己的学习笔记,希望能和大家一起进步成长💕

目录

💕前言:作者是一名正在学习JAVA的初学者,每天分享自己的学习笔记,希望能和大家一起进步成长💕

​编辑

运算符(重要)

运算符四则运算

基本数据类型变量间的运算

赋值运算符

比较运算符

逻辑运算符(重要)

流程控制(重要)

1.if

2.if...else...

3.if...else if...else

4.switch 只能做等值判断

5.三元运算符

6.循环结构

while 先判断在做循环

do...while 先循环在做判断

for循环

break

面向对象

面向过程

面向对象

类的属性

类的方法

创建对象的内存结构

局部变量

成员变量

匿名对象

运算符(重要)

运算符四则运算

+、-、*、/ 加减乘除

% 取余

++、--

基本数据类型变量间的运算

1.自动类型提升

当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型

char 、byte 、short -> int -> long -> float -> double

2.强制类型转换

需要强制转换符(),并且精度会有损失。

float f = 1.9f;

int a = (int)f; -> 输出1

赋值运算符

= 、+=、-=、*=、/=、%=

比较运算符

==(等于)、!=(不等于)、>(大于)、>=(大于等于)、<(小于)、<=(小于等于)

逻辑运算符(重要)

&(与):(并且) 多个表达式在进行计算时,每一个表达式都为true的时候,整体的结果是true(即使第一个为false,他还是会继续判断后面的表达式结果)。

&&(短路与): 与&效果一样,不同在于当第一个表达式为false时,不再判断后面的表达式

|(或):每个表达式计算的时候,只要有一个表达式为true,那结果为true

||(短路或): 与|效果一样,

!(取反): !true 为false

流程控制(重要)

1.if

条件表达式的结构一定是true或者false。为true则执行大括号内的语句

语法: if(条件判断表达式){

执行语句

}

2.if...else...

语法: if(条件判断表达式){

执行语句

}else{

执行语句

}

3.if...else if...else

语法: if(条件判断表达式){

执行语句

}else if(条件判断表达式){

执行语句

}else{

执行语句

}

4.switch 只能做等值判断

说明:

switch(表达式){

case 常量1:

执行语句1;

break;

case 常量2:

执行语句2;

break;

default:

执行语句;

Break;

}

5.三元运算符

语法: 逻辑表达式1 ?表达式3:表达式4

String str = score>90?"优秀":"不优秀"

逻辑表达式1如果运算结果为true,则整个表达式的结果就是表达式3

逻辑表达式1如果运算结果为false,则整个表达式的结果就是表达式4

表达式3和表达式4的结果类型要一致

6.循环结构

while 先判断在做循环

while(表达式(true/false)){

循环体

}

do...while 先循环在做判断

do{

循环体

}while(表达式);

for循环

语法: for(表达式1;表达式2;表达式3){

循环体

}

表达式1: 计数器的初始化,它只初始化一次

表达式2: 循环条件的判断,多次执行

表达式3: 修改计数器,多次执行

break

跳出循环

面向对象

面向过程

分析解决问题所需要的步骤,然后我们用函数来一步一步调用实现。

例子: 把一个大象放进冰箱

面向过程: 1.打开冰箱 2.把大象放入冰箱 3.关上冰箱

面向对象: 1.大象 属性 方法(行走) 2. 冰箱 属性: 方法: (开门、关门)

1.创建一个冰箱, 冰箱自己开门 创建一个大象的对象 大象走进冰箱 这个冰箱关门。

面向对象

OOP(object oriented programming),面向对象。 java认为万物都是对象

: 我们把某些具有相同的属性和行为的事物抽象成一类。

类的属性: 八个基本数据类型,引用数据类型: 类,接口,数组

比如: 狗是一个类,那么阿拉斯加、哈士奇、萨摩耶就是这个类的对象。 犹如模板和样本的关系。通过一个模板可以创建多个样例。(注意点: 类是抽象的概念,对象才是真正的实例)

定义类:(类名称:首字母要大写,驼峰式、见名知意)

class 类名称{

属性

方法

}

创建对象的方法 : 类名 变量名 = new 类名();

通过对象可以访问其方法和属性

类的属性

默认值

数据类型默认值
byte0
short0
int0
long0
float0.0
double0.0
booleanfalse
char''
引用数据类型null

引用的数据类型: 类 数组 接口

类的方法

类的行为用函数

public <static> 返回值类型 方法名 (数据类型: 参数名称){

方法体

<return 返回值>

}

创建对象的内存结构

栈:用于存储基本数据类型的值或者是局部变量。先进后出,存取的容量小,存取的速度快

堆: 用于存储引用的数据类型。存取的容量大,速度慢一些

方法区: 存储引用数据类型,存储一些共享的数据(比如说方法)。

局部基本类型变量:

重点: 对象存储在堆中,引用存储在栈中,堆中的每一个对象的数据都是隔离的。 每一个class加载到数据共享区,jvm会解析这个类的内容,方法是每个对象共享的(属性是独立的,方法是每个对象共享的,但是方法内部的属性是哪个对象调用这个方法,那么这个属性就是哪个对象的)

java是通过gc垃圾回收器来回收。

局部变量

定义: 局部变量是定义在方法中或者语句块中。

属性特点:

作用范围: 只限于所定义的大括号中(以及自括号内)

存储位置: 存储在栈内存中

默认值:无 ,使用时一定要初始化

生命周期: 所属的大括号范围

例子: 所以当dog1=null时,new Dog()这个对象就没人引用了。就会被gc垃圾回收器回收,就是说有可能方法还没有执行完,就被回收了。不过垃圾回收器运行的机制是有jvm判断的。而不是人为操作的。 dog=null,后,不能再使用了,否则会空指针异常。 大括号结束了,局部变量消失了,对象引用也消失了。

成员变量

定义: 成员变量是定义在类中,也可以叫类的属性

除了成员变量其他都是局部变量

属性的特点:

作用范围: 根据权限的修饰符定(public private protected default)

存储的位置: 堆内存中或者数据共享区(这个在static中会提到)

默认值: 有

生命周期: 由jvm通过垃圾回收机制来回收

匿名对象

匿名对象由于没有栈中的变量来引用,所以会被回收掉,所以匿名对象是没有意义的。

今天的笔记分享就到此为止,感谢大家的观看~~


http://chatgpt.dhexx.cn/article/uvwV3PjL.shtml

相关文章

Java学习笔记11

Object类是所有类、数组、枚举类的父类&#xff0c;是类层次结构的根类。每个类都使用Object作为超类。所有对象&#xff08;包括 数组&#xff09;都实现这个类的方法。 Object类实现了以下方法&#xff1a; 我们来看看在源码中registerNatives()方法&#xff1a; private st…

java 学习笔记之多参数传递

第一次写博客记录学习java遇到的问题&#xff0c;学习java学到方法的时候&#xff0c;在想见过c语言有类似多个参数传递的写法&#xff0c;java也应该有类似的写法&#xff0c;通过学习掌握的这种写法&#xff0c;如下 public class Test {public static void print(String ..…

韩顺平 零基础30天学会Java 学习笔记

学习记录 第一章 第二章 方法源码可以在jdk文件里面的src文件里面看。 注释&#xff1a; 1、多行注释里面不允许再加多行注释 2、javadoc文档注释 (/** * */) 3、javadoc -d 生成文档 4、类与方法要用javadoc文档注释 JDK,JRE,JVM关系 1、JDK JRE Java开发工具 2、JRE J…

java中预编译是啥意思_JAVA学习笔记预编译

JAVA学习笔记预编译 (2011-07-30 02:36:17) 标签&#xff1a; 杂谈 第顺次运行jsp时jsp将被改换成servlet(第顺次工夫较长&#xff0c;而尔后就会快许多) 搭配好的利用过程能够穿越设置jsp版面的URI照射&#xff0c;尔后只安装编译后的java类文件来告终安装(能够只将servlet类文…

Java学习笔记(一)

目录 一&#xff1a;java语言的发展史 二&#xff1a;java语言跨平台原理 三&#xff1a;JRE与JDK 四&#xff1a;JDK的下载和安装 五&#xff1a;常用DOS命令 六&#xff1a;path环境的配置 七&#xff1a;基础语法 一&#xff1a;java语言的发展史 1.1 java语言 …

Java学习笔记 --- IDEA

一、IDEA介绍 1、IDEA全称IntelliJ IDEA 2、在业界被公认为最好的Java开发工具 3、IDEA是JetBrains公司的产品&#xff0c;总部位于捷克的首都布拉格 4、除了支持Java开发&#xff0c;还支持HTML、CSS、PHP、MySQL、Python等 二、IDEA常用快捷键 1、删除当前行&#xff0…

Java 学习笔记(手写版)

Java 学习笔记(手写版) 文章目录 Java 学习笔记(手写版)变量控制流程包机制 & 用户交互 Scanner方法&#xff08;函数&#xff09; & 驼峰命名法递归 & 数组OOP & 构造器封装继承 &#xff08;super & this&#xff09;方法重写 静态方法 & 非静态方法…

Java学习笔记一

Java学习笔记一 1、Java语言的特点2、Java程序开发过程3、Java虚拟机JVM 学习方式&#xff1a; 书籍&#xff1a;《Java基础教程》 吴仁群 清华大学出版社 第1章&#xff1a;Java语言概述 1、Java语言的特点 一种面向对象且与平台无关的多线程动态语言 2、Java程序开发过程 文…

Java基础笔记(初学者适用)

目录 一、Java主函数解析 二、Java学习注意事项 三、JDK和JRE的区别 1、jdk--开发环境&#xff08;核心&#xff09; 2、jre--运行环境 3、JVM——转换环境 四、常见转义字符 五、变量 1.变量介绍 2.变量细节 3.作用域 4.数据类型 &#xff08;1&#xff09;Java数…

java学习笔记(详细)

java学习笔记 文章目录 java学习笔记1.基本的输入输出2.基本数据类型3.复合数据类型4.程序流程语句5.数组6.字符串7.面向对象* 类的基本知识* 封装性* 继承性* 多态性 1.基本的输入输出 java是纯面向对象的语言&#xff0c;连主函数都写在一个类中&#xff0c;java中没有指针ja…

Java学习笔记(完结)

java 快捷键 修改idea的快捷键的方法&#xff1a;点击file》setting》keymay&#xff0c;去里面搜索要改的东西&#xff0c;然后把原来的快捷键去除&#xff0c;键盘输入新的你要的快捷键&#xff0c;就可以啦&#xff1b;Ctrl d 删除本行&#xff1b;Ctrl alt 向下箭头 复…

Java基础知识笔记整理(零基础学Java)

文章目录 前言java语言特性java的编译与运行JDK、JRE、JVM字符编码数据类型数据类型取值范围数据类型默认转换 标识符命名方法数组一维数组二维数组数组排序算法数组查找算法数组工具类&#xff08;Arrays&#xff09; 逻辑运算符输入操作Java中的命名规则有符号数据表示法 面向…

图解LVS的工作原理

LVS详解 LVS简介LVS特点&#xff1a;LVS常见术语 LVS工作原理NAT模式DR模式内核参数详解arp_ignorearp_announce TUN工作模式full-nat模式 LVS调度算法介绍ipvsadm使用指南NAT和DR模式的实现NAT模式的实现DR模式的实现调度器配置WEB后端服务器配置实验测试 参考文献 LVS简介 I…

LVS集群

目录 一、集群和分布式 1.集群的含义 2.系统性能扩展方式 &#xff08;1&#xff09;Scale UP &#xff08;2&#xff09;Scale Out 3.集群的分类 &#xff08;1&#xff09;LB&#xff1a;&#xff08; Load Balancing&#xff09;负载均衡群集 &#xff08;2&#…

LVS原理篇:LVS简介、结构、四种模式、十种算法

LVS原理篇&#xff1a;LVS简介、结构、四种模式、十种算法 LVS是Linux virtual server的缩写&#xff0c;为linux虚拟服务器&#xff0c;是一个虚拟的服务器集群系统。LVS简单工作原理为用户请求LVS VIP&#xff0c;LVS根据转发方式和算法&#xff0c;将请求转发给后端服务器&…

LVS负载均衡群集

目录 一、概述 1.群集的含义 2.问题 3.解决方法 二、分类 1.根据群集所针对的目标差异&#xff0c;可分为三种类型 2.负载均衡群集(Load Balance Cluster) 3.高可用群集(High Availability Cluster) 4.高性能运算群集(High Performance Computer Cluster) 三、负载均…

LVS详解与配置

一、LVS简介 LVS是Linux Virtual Server的简称&#xff0c;也就是Linux虚拟服务器&#xff0c;是一个由章文嵩博士发起的自由软件项目&#xff0c;官方站点是&#xff1a;http://www.linuxvirtualserver.org。现在LVS已经是Linux标准内核的一部分&#xff0c;在Linux2.4内核以…

选择正确的负载均衡器:LVS还是Nginx?

选择正确的负载均衡器&#xff1a;LVS还是Nginx&#xff1f; 博主简介一、前言二、什么是LVS&#xff1f;2.1、LVS的架构 三、什么是Nginx&#xff1f;3.1、Nginx 特性3.2、Nginx 架构 四、LVS和Nginx的区别五、总结 博主简介 &#x1f4a1;一个热爱分享高性能服务器后台开发知…

搭建LVS负载均衡

keepalivedLVSNginxNetty接收数据并发送到Kafka 链接参考文档 LVSKeepalived项目 规划两台 LVS服务器&#xff0c;两台NGinx服务器&#xff0c;两台部署Netty程序服务器 组件节点地址主机名称虚拟ip/端口LVSkeepalived172.25.94.154-0007172.25.94.187LVSkeepalived172.25.9…

LVS 就是这么简单(数字后端物理验证篇)

LVS 就是这么简单&#xff01;&#xff08;数字后端物理验证篇&#xff09; 文章右侧广告为官方硬广告&#xff0c;与吾爱IC社区无关&#xff0c;用户勿点。点击进去后出现任何损失与社区无关。 今天吾爱 IC 社区小编为大家带来数字 IC 后端实现物理验证中关于 LVS 的主题分享。…