首页 > 编程语言 >JAVA基础

JAVA基础

时间:2023-03-31 20:23:52浏览次数:50  
标签:10 JAVA String 形参 数据类型 基础 fun 实参

赋值

符号表

type value
t int 10
s String 0x1618
  • 变量和字面量之间的赋值

    • s = 10 ,基本数据类型,赋值
    • s = "tag" ,引用数据类型,赋地址
  • 变量和变量之间的赋值 s = t

    • 基本数据类型变量,赋 t 的具体值
    • 引用数据类型变量,赋 t 指向的引用的地址值

包装类型

  • 包装类型(String)之间的比较都用equals,注意NPE问题
  • 基础数据类型与封装类进行 ==、+、-、*、/ 运算时,会将封装类进行拆箱,对基础数据类型进行运算
  • 浮点类型数值比较用 BigDecimal 的 compareTo

JAVA值传递

https://zhuanlan.zhihu.com/p/89794950

https://blog.csdn.net/weixin_44640989/article/details/120590881

1、基本数据类型:形参b是fun栈帧的局部变量,初始值为实参a的拷贝10,改变形参值无法影响实参

void fun(int b) {
	b = 11;
}

void main() {
  int a = 10;
	fun(a);
  System.out.println(a); // 10
}

2、引用数据类型:

  • 形参b是fun栈帧的局部变量,初始值为实参a的引用地址值0x1234拷贝,改变形参值(指向对象地址)无法影响实参
  • 形参p是fun栈帧的局部变量,形参p和实参per始终保持相同的值(指向同一个对象地址),形参的操作会影响实参指向对象的内容
void fun(String b, Person p) {
	b = 'b'; // 0x5678
  p.setName('red');
}

void main() {
  String a = 'a'; // 0x1234
  Person per = new Person('green');
	fun(a, per);
  System.out.println(a); // 'a'
  System.out.println(per.getName()); // 'red'
}

try-with-resource

任何实现了 java.lang.AutoCloseable的对象, 包括所有实现了 java.io.Closeable 的对象, 都可以用作一个资源

public String  readFirstLineFromFile() throws IOException {
		try (BufferedReader br = new BufferedReader(new FileReader("a"))) {
            return br.readLine();
    }
}

标签:10,JAVA,String,形参,数据类型,基础,fun,实参
From: https://www.cnblogs.com/Red-Revolution/p/17277393.html

相关文章

  • linux下的vim使用教程!从零基础到入门!
    linux下的vim使用教程!从零基础到入门!vim的介绍!Vim是一个类似于vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性vim是一种多模式的编译器!也是在linux下进行编程的一种常用的编辑器!因为其很高的上手难度,也往往让很多新人看了望而却步!今天我将详细的......
  • 有关斐波那契查找-Java实现
    其实对于斐波那契查找,是一种新的查找思想,对与其实用性我持怀疑态度;主要就是,黄金风分割得思想;而斐波那契数列正好符合这一特性;其中的思想不过多赘述;主要事可以培养算法的思想;1/***2*fib查找3*@paramnum目标排查找数组4*@paramnumSearch目标数......
  • 以太网交换基础
    以太网协议以太网不是一种具体的网络,是一种技术规范。以太网是当今现有局域网采用的最通用的通信协议标准。该标准定义了在局域网(LAN)中采用的电缆类型和信号处理方法。以太网络是建立在CSMA/CD(载波监听多路访问/冲突检测)机制上的一种广播型网络。CSMA/CD的工作原理可简单总结为:先......
  • java查询hbase
    Mark——java查询hbase,https://blog.csdn.net/weixin_46408961/article/details/124224169查询Hbase数据分为Get方式查询,Scan方式查询,Scan配合Filter过滤查询01.Get方式查询importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.hbase.Cell;importorg.ap......
  • 结合 操作系统、Java多线程 学习并发编程
    为什么我们需要考虑并发?不考虑的话会出现什么问题?并发的多个程序(进程/线程)会对计算机资源进行争夺,如果不加以控制会出现混乱、严重影响程序运行效率,甚至错误首先是对CPU时间片的争夺对于多线程编程而言,由于创建线程后,线程的执行顺序是由调度程序控制的,也就是说各个线程的执行顺......
  • java integer == integer返回 true 还是 false?
    理论:IntegerCache缓存JAVA的Integer有IntegerCache会缓存-128~127之间的对象。如:Integerx=100,会调用Integer的valueOf()方法,这个方法就是返回一个Integer对象,但是在返回前,作了一个判断,判断要赋给对象的值是否在[-128,127]区间中,且IntegerCache(是Integer类的内部类,里面有一......
  • 【Java】删除String数组中的所有空值
    1、封装一个方法/****去除String数组中的空值*/privateString[]deleteArrayNull(Stringstring[]){StringstrArr[]=string;//step1:定义一个list列表,并循环赋值ArrayList<String>strList=newArrayList<String>();......
  • JavaFx 行间距 margin
    自己边尝试边摸索,间距都调不了,气的呀。如有不足,请指正!spacing相当于margin-topmargin-bottomenvBox.setSpacing(20);insets能设置上下左右间距btn1.setOpaqueInsets(newInsets(0,10,0,0));vgap="10"上下间距hgap="10"左右间距 ......
  • 后端基础——rom,ram,memory compiler
    一,memory基础1,导览Memory用来存储和读写的大量的二进制数据。按功能上分类,基本可以分为两大类:只读存储器(ROM)和随机存取存储器(RAM)。ROM只能读,不能写;RAM既能读又能写。RAM具有易失性。断电以后,RAM中保存的数据将全部丢失;而ROM中的数据则可以长久保存。RAM可以分为常用的SRAM和DRA......
  • 系统化学习前端之JavaScript(ES6)
    前言ES6同样是ECMAScript的拓展,发布于2015年,目前多数浏览器对于部分ES6更新内容不支持,通常需要借助bable编译器编译成ES5或者ECMAScript早期版本语法去执行。ES6的学习推荐阮一峰老师的ES6教程。ES6ES6是ECMAScript最近一次较大版本的更新,更新内容主要是一......