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

Java 基础 (Java 入门笔记) _

数据类型与转换

Java 是一种强类型语言, 变量需要定义后才能使用.

数据类型

基本数据类型

整数:byte,short,int,long(long类型须在数字后加L) .

​ 分别占用 1B, 2B, 4B, 8B.

浮点数:float,double(float类型须在数字后加F) .

​ 分别占用 4B, 8B.

需注意:float有舍入误差,需避免使用float进行比较.

字符:char,String(String不是关键字, 是一种引用类型) .

char使用单引号, 而String使用双引号.

char letter1 = 'A'; String letter2 = "B";

布尔值:boolean.

​ 表示 "是" 与 "非".

boolean flag = ture; if(flag == ture){} if(flag ==) {}//这种写法更常用.

进制

进制前缀
二进制0b
八进制0
十进制-
十六进制0x
char character = 'A'; System.out.println((int)character);//加上int可以打印出字符的Unicode编码.(强制转化)

类型转换

由于 Java 是强类型语言, 需要进行类型转化 (将不同类型转为相同类型) .

强制转换

,手动转换.

格式:(类型)变量名

int a = 128; byte b = (byte) a;

运算中只要有一个变量被转换了, 其他的也会一同被转换.

自动转换

,自动转换.

int a = 128; double b = a;

注意

  1. 布尔值不可以参与转换.

  2. 不可以转换成不相干的类型.

  3. 转换中可能会出现内存溢出和精度问题.

System.out.println((int) 12.3); //打印12, 丢失精度. System.out.println((byte) 128);//打印-128, 内存溢出.

操作大数目时, 需要注意内存溢出.

int num1 = 10_0000_0000; int num2 = 20; System.out.println(num1 * num2); //由于内存溢出, 输出-1474836480. long sum = num1 * (long) num2;//进行一处类型转换. System.out.println(sum);//顺利打印出20000000000.

变量和常量

变量

Java 的每个变量必须声明其类型后才能使用.

变量是程序中最基本的单元, 包括变量名,变量类型作用域.

使用类型 变量名 [=值]进行定义,可以用逗号隔开以声明多个同类型的变量 (不建议) .

int a = 1, b = 2, c = 3;//为了程序可读性, 不要一行定义多个变量!

变量作用域

局部变量

只能在一个方法里面使用,必须声明和初始化

方法: 如有public static void main(String[] args), 则有main方法.

实例变量

从属于对象.

public class Demo { int num = 23; String char1 = "abc"; public static void main(String[] args) { Demo Demo = new Demo();//new就是在内存中开辟了一块空间,可以对里面的数据进行操作. System.out.println(Demo.num);//打印23. System.out.println(Demo.char1);//打印abc. } }

如不初始化, 则会输出默认值(0, 0.0, ect.)

布尔值的默认值为false.

除了基本类型, 其他类型默认值均为null.

类变量

从属于类, 使用static进行定义.

static是一种修饰符, 修饰符不区分前后顺序.

public class Demo { static int num = 23; public static void main(String[] args) { System.out.println(Demo.num);//不需要new便能成功执行. } }

常量

初始化后不能改变值, 可视作一种特殊的变量, 使用final进行定义.

final也是一种修饰符.

常量名称一般使用大写字母.

命名规则

所有变量, 方法, 类名, 都需要遵循见名知意原则.

类型大小写驼峰原则
类成员变量首字母
局部变量首字母
常量全部大写, 使用_分割-
类名首字母
方法名首字母

驼峰原则: 除了第一个单词, 每个单词首字母大写.

运算符

名称类型符号
算数运算符+,-,*,/,%,++,--
赋值运算符=
关系运算符>,<,>=,<=,==,!=,instanceof
逻辑运算符&&, `
位运算符&, `
条件运算符?,:
扩展赋值运算符+=,-=,*=,/=

一元运算符只需要一个操作数, 二元, 三元也同理.

运算优先级: 括号最优先, 其次是一元运算符 (多使用括号养成良好习惯).

算数运算符

加, 减, 乘, 除, 模

+,-,*,/,%(模运算, 取余).

  1. 当不同类型一同运算时, 结果的类型取决于最高的类型. 如:

  2. 当结果会出现小数, 需要对结果进行强制转换, 否则只会出现整数.

long a = 100L; int b = 10; short c = 1; System.out.println( a + b + c);//里面是long类型 System.out.println(b + c);//里面是int类型 System.out.println(c / b);//打印0 System.out.println((double) c / b);//打印0.1

如果+的前面有String类型,+则变成字符串连接运算符,负责把多个字符串连接起来.

System.out.println(10 + 20);//打印30 System.out.println("Hello" + 10 + 20);//打印Hello1020 System.out.println(10 + 20 + "Hello" + 25);//打印30Hello25, 前面的会被运算

需要注意, 在字符串连接运算符前面的式子会先被计算.

自增自减

++(自增),--(自减). 两个都是一元运算符.

n++,n--(先数字, 后符号):先执行, 后自增/减.

++n,--n(先符号, 后数字):先自增/减, 后执行.

int a = 1, b = 1; int result1 = a++;//a=1---先为result1赋值, 然后才自增 int result3 = a;//a=2 int result2 = ++b;//b=2---先给自己自增, 再给result2赋值 int result4 = b;//b=2

比较运算

http://www.jsqmd.com/news/1093298/

相关文章:

  • 企业实战视角:为什么GEO优化需要“搜极星+InsGEO”的双轨并行?
  • 【计算机毕业设计案例】交互式网络博文分享交流平台基于 SpringBoot 实现 知识分享型在线博客管理系统设计与开发(程序+文档+讲解+定制)
  • 终极Windows窗口大小调整指南:3分钟掌握WindowResizer强制调整技巧
  • HTML 早已不是标签了,它现在是系统级接口:这 9 个 API 直接干翻常用
  • OpenMontage:基于开源AI模型的全链路自动化视频生成框架实战
  • GPT-5.6 正在灰度,有人在 Codex 里提前用上了,附检测方法
  • 【信号处理】为什么功率谱不是幅度谱的平方
  • 2026年批量采购无人机专用胶粘产品怎么选?行业选型指南
  • 每天5分钟玩转 Kubernetes
  • Web基础解析
  • 终极鼠标性能测试指南:用MouseTester发现你的设备真实实力
  • 深入解析PCM178x系列DAC:Delta-Sigma架构原理与音频硬件设计实战
  • 2026年6月28日博客精选
  • Java计算机毕设之基于 SpringBoot+Vue 的社区老龄关爱服务管理系统 公益助老项目发布与预约服务平台设计实现(完整前后端代码+说明文档+LW,调试定制等)
  • 奇数分频电路设计进阶:Verilog实现50%占空比的通用方法
  • 【深度学习】OpenCV 视频分析实战:背景建模 + 形态学处理实现运动目标检测
  • 牛客周赛 Round 150
  • lsyat门禁闸机播放TTS—幽冥大陆(一百51)-东方仙盟
  • 第 5 讲:Prompt、上下文、Token、模型参数
  • Cadence防静电logo .dra文件转换为 .dxf文件(16.6)
  • Web安全实战:任意文件上传漏洞原理、复现与加固指南
  • 【精通】RustMark v2.4:CI/CD 与发布工程 — Cargo Workspace 与 DevOps 深度实战
  • ABB工业机器人编程基础(十一)流程控制:FOR、WHILE 与示教器交互指令
  • Java毕设项目:便民助老资源统筹服务平台基于前后端分离实现 数字化爱老助老公益服务管理平台设计与开发 (源码+文档,讲解、调试运行,定制等)
  • 前端控制器管理化技术请求分发与视图解析
  • rocky linux安装教程:VMware虚拟机图文讲解部署Rocky Linux 9(附镜像包)
  • 量化盯盘辅助工具:不同AI工具在信息整理与复盘环节的分工用法
  • Casbin 学习指南
  • RAG检索准不准怎么量化:recall@k和MRR实操
  • 总结 6.29