前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JAVA学习笔记(一)

JAVA学习笔记(一)

作者头像
叶秋学长
发布2022-10-31 15:17:06
2270
发布2022-10-31 15:17:06
举报
文章被收录于专栏:全栈学习专栏

✅作者简介: 全栈领域新星创作者,阿里云专家博主,华为云云享专家博主,掘金后端评审团成员 💕推荐学习专栏: Spring系列 Spring Boot 系列 秋招面试题

再次渡入繁世,人潮汹涌,眼里茫然,信仰永恒,皆为华夏

今天,给大家分享下我之前学习JAVA的笔记。

运算符(重要)

运算符四则运算

+、-、*、/ 加减乘除

% 取余

++、--

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

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 类名();

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

类的属性

默认值

数据类型

默认值

byte

0

short

0

int

0

long

0

float

0.0

double

0.0

boolean

false

char

''

引用数据类型

null

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

类的方法

类的行为用函数

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

方法体

<return 返回值>

}

创建对象的内存结构

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

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

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

局部基本类型变量:

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

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

局部变量

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

属性特点:

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

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

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

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

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

成员变量

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

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

属性的特点:

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

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

默认值: 有

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

匿名对象

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 叶秋学长 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 运算符(重要)
    • 运算符四则运算
      • 基本数据类型变量间的运算
  • 赋值运算符
  • 比较运算符
  • 逻辑运算符(重要)
  • 流程控制(重要)
    • 1.if
      • 2.if...else...
        • 3.if...else if...else
          • 4.switch 只能做等值判断
            • 5.三元运算符
              • 6.循环结构
                • while 先判断在做循环
                • do...while 先循环在做判断
                • for循环
                • break
            • 面向对象
              • 面向过程
                • 面向对象
                  • 类的属性
                  • 类的方法
                  • 创建对象的内存结构
                  • 局部变量
                  • 成员变量
                  • 匿名对象
              相关产品与服务
              对象存储
              对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档