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

Java基础知识快速盘点(二)

一,类型转换
  • 隐式转换

    • 将一个类型转换为另一个类型时,系统默认转换
    • 常量优化机制
    • 算术运算时类型的隐式转换(byte,short在算术运算时都会转换为int)
    • char类型在进行运算时会根据其编码值进行运算
  • 显式转换

二,操作符和运算符

% 取余运算,结果的正负取决于%左侧的数值的正负

++,-- 自增和自减

  • 单独出现时,直接进行相应的自增和自减运算
  • 参与运算或操作时,在前和在后分开讨论
    • 在后,先进行相应的运算或操作,再进行自增或自减
    • 在前,先进行自增或自减,再进行运算或操作

逻辑运算符:&& ||

  • 两者遵从短路运算规则

位运算符:& |

  • 不遵从短路运算规则

位运算符:^

  • 相同为0,不同为1

  • 交换两个变量的值

    a = a ^ b;
    b = a ^ b;
    a = a ^ b;
    

位运算符:<< >> <<< >>>

  • << >> 有符号左右位移
  • << 相当于乘以2的n次幂
  • >> 相当于除以2的n次幂
  • <<< >>> 无符号左右位移

三目运算符:? :

  • ? 前为布尔表达式
  • :两侧为语句
三,参数传递
  • 值传递
    • 方法调用的过程中,基本类型的变量在参数传递的过程中采用值传递
    • 值传递在方法中操作传递的值的时候不会影响原来的变量的值
  • 引用传递
    • 方法调用的过程中,引用类型的变量采用引用传递
    • 引用传递在操作传递的引用时,由于该引用指向的堆空间和原先的引用类型的变量指向的堆空间是同一个,操作的过程会改变堆空间中的内容,影响原内容
四,流程控制

分支

  • if … else
if (表达式) {语句
} else {语句
}
  • if… else if … else
if (表达式) {语句
} else if (表达式) {语句
}
...
else {语句
}
  • switch… case
switch (变量) {case:语句...default: 语句
}

循环

  • for循环
for(初始化语句;语句;语句) {语句
}
  • while 和 do… while
while (表达式) {语句
}do {语句
} while(表达式);
五,数组

动态初始化

数据类型[] 数组名 = new 数组类型[数组长度];
  • 用户只能指定数组长度,内存空间由系统进行分配

静态初始化

数组类型[] 数组名 = new 数组类型[]{元素1, 元素2....};    // 格式一
数组类型[] 数组名 = {元素1, 元素2....};    // 格式二

属性

  • length 数组长度

数组下标

  • 最大的数组下标 = length - 1

数组拷贝

  • System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length);
    
  • Arrays工具类
    
六,可变参数

可变参数的本质是数组

可变参数只能在参数的最后

七,类

类是一类具有相同特征的事物的抽象

类是Java编程最小单元

对象是类的具体实例

// 在创建类的对象时,jvm会在堆区开辟一块内存空间,并返回该类的引用赋值给该类的引用变量
Student stu = new Student();  

this

  • this表示当前调用该方法的对象
http://www.lryc.cn/news/7729.html

相关文章:

  • 企业降本增效的催化剂:敏捷迭代
  • MySQL入门篇-MySQL高级窗口函数简介
  • 什么是 API(应用程序接口)?
  • 如何在外网访问内网的 Nginx 服务?
  • vue2中defineProperty和vue3中proxy区别
  • 将bean注入Spring容器的五种方式
  • C生万物 | 常量指针和指针常量的感性理解
  • python 打包工具 pyinstaller和Nuitka区别
  • Python解题 - CSDN周赛第28期
  • DNS记录类型有哪些,分别代表什么含义?
  • ICLR 2022—你不应该错过的 10 篇论文(上)
  • HydroD 实用教程(三)环境数据
  • 第四章 统计机器学习
  • Redis第一讲
  • Java面试题-消息队列
  • 基于离散时间频率增益传感器的P级至M级PMU模型的实现(Matlab代码实现)
  • 9个相见恨晚的提升办公效率的网站!
  • java的双亲委派模型-附源码分析
  • Docker 笔记
  • 用户认证-cookie和session
  • UUID的弊端以及雪花算法
  • 使用netty+springboot打造的tcp长连接通讯方案
  • 【正点原子FPGA连载】第十章PS SYSMON测量温度电压实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南
  • AcWing《蓝桥杯集训·每日一题》—— 1460 我在哪?
  • AcWing《蓝桥杯集训·每日一题》—— 3729 改变数组元素
  • 如何熟练掌握Python在气象水文中的数据处理及绘图【免费教程】
  • Leetcode详解JAVA版
  • LeetCode 83. 删除排序链表中的重复元素
  • RMI简易实现(基于maven)
  • ‘excludeSwitches‘ 的 [‘enable-logging‘] 和[‘enable-automation‘]