随笔分类 -  java

摘要:在每个对象创建时,java虚拟机都会分配对应的this,即所有对象都有自己的this引用,这个this指向对象自己。 大致原理可以这样理解 先看一段代码 public class Test{ public static void main(String[] args) { Person a = ne 阅读全文
posted @ 2022-02-21 17:38 codemelo 阅读(71) 评论(0) 推荐(0)
摘要:1.可变参数的实参可以是0个或者任意个。 2.可变参数的实参可以是数组。 3.可变参数本质就是数组,在使用时也可以当数组来用。 4.可变参数可以和普通参数放在一起,但可变参数必须要放在最后。 5.形参数列表顶多只能一个可变参数。 阅读全文
posted @ 2022-02-20 07:59 codemelo 阅读(114) 评论(0) 推荐(0)
摘要:java对象内存布局 现有一个对象 melo.name = "卡梅隆安东尼"; melo.num = 7; melo.age = 37; 此对象各数据在内存中布局为 对象名就像是人的名字,堆区和方法区的那些数据才是实实在在的人,有这个名字很重要,只有这样你与别人谈到这个人,别人才会知道你在说谁,你跟 阅读全文
posted @ 2022-02-17 07:50 codemelo 阅读(104) 评论(0) 推荐(0)
摘要:java数组是对象 java数组有值拷贝和引用传递两种赋值机制 值拷贝 用基本数据类型赋值给数值时,直接拷贝 1 public class test{ 2 public static void main(String[] args) { 3 int [] a = {1,2}; 4 } 此数组在虚拟机 阅读全文
posted @ 2022-02-12 09:06 codemelo 阅读(88) 评论(0) 推荐(0)
摘要:在嵌套循环中可以使用标签,标签由程序员命名,可以不是label 标签的使用 label1:循环语句{ label2:循环语句{ labelXXX:循环语句{ } } } break可以指定终结哪一个循环,比如 break label2; 这个语句就是终止label2。如果没有指定的话,终结最近的循环 阅读全文
posted @ 2022-02-09 17:24 codemelo 阅读(74) 评论(0) 推荐(0)
摘要:循环条件返回一个boolean类型的表达式(true或者false)。 初始化语句可以有多个变量,但必须都是一个数据类型 阅读全文
posted @ 2022-02-09 09:22 codemelo 阅读(68) 评论(0) 推荐(0)
摘要:switch(表达式),这个表达式的数据类型要跟case后面的常量数据类型一致。 表达式的返回值类型只能是这几个:byte,short,int,char,String,enum。 一般来说,当判断的具体数值不多,并且是以上两个类型,那么建议使用switch,而不用if,对区间的判断,对boolean 阅读全文
posted @ 2022-02-09 08:36 codemelo 阅读(52) 评论(0) 推荐(0)
摘要:类型转换影响的操作数是紧随其后的第一个操作数(如果想要多个数运算后的结果作为操作数,那要括号括起来)。 有多种数据类型进行混合运算时,系统首先把所有参与运算的数据转换成容量最大的数据类型,然后再进行运算,若A = 1 + 1.1f,则A必须至少float类型容量才能接受赋值。 byte(1)能自动转 阅读全文
posted @ 2022-02-08 17:55 codemelo 阅读(73) 评论(0) 推荐(0)
摘要:当进行小数之间比较时要小心,因为计算机浮点数存储的精度问题,有时算出的小数不合我们现实,比如8.1/3是等于一个接近于2.7的小数,而不是2.7,正确的比较应该是将比较的小数相减,并规定一个允许误差范围,如果差值在这个范围内,那么可以认为他们相等。当然,如果是直接赋值的小数,或者你确定小数的值是多少 阅读全文
posted @ 2022-02-08 17:54 codemelo 阅读(118) 评论(0) 推荐(0)
摘要:算术右移(>>): 符号位不变,其他整体右移,把低位越界的数丢弃,在高位空下来的位置补上符号位对应的数值,本质是移动多少位,就除于多少个二。 算术左移(<<): 符号位不变,其他整体左移,把高位越界的数丢弃,在低位空下来的位置补0,本质是移动多少位,就乘多少个二。 逻辑右移(>>>): 也叫无符号右 阅读全文
posted @ 2022-02-08 17:35 codemelo 阅读(423) 评论(0) 推荐(0)
摘要:包名:多单词组成时,所有字母小写。比如 aaa.bbb.ccc。 类名和接口名:多单词组成时,所有单词首字母大写,比如CaoMa,Class。(大驼峰法) 变量名和方法名:多单词组成时,第一个单词开头小写,第二个单词开始开头大写,比如classBeginYes。(小驼峰法) ps:静态变量用大写字母 阅读全文
posted @ 2022-02-08 11:19 codemelo 阅读(35) 评论(0) 推荐(0)
摘要:三元运算符后面两个表达式一定要是变量能接受的类型。 三元运算符可以转成if else,反过来有时也可以。 注意,这只是可以转成,不代表等于,比如 public class test{ public static void main(String[] args){ int x = 1; float y 阅读全文
posted @ 2022-02-08 10:52 codemelo 阅读(143) 评论(0) 推荐(0)
摘要:1. 短路与&&:当第一个是false时,不会再去判断第二个,会直接输出FALSE。 逻辑与&:不管如何,始终对两个都进行判断。 综上,短路与会比逻辑与效率高,所以实际开发一般用短路与 。短路或(||)和逻辑或(|)也是一样,只不过短路与是第一个为ture时就不判断第二个,同理,短路或比逻辑或效率高 阅读全文
posted @ 2022-02-08 10:24 codemelo 阅读(95) 评论(0) 推荐(0)
摘要:1.输出语句中第一个出现的字符串是个分界点,,这个字符串前面的值为数字的数据,可以进行加减乘除取余等运算,这个字符串后面的数字形式的数据,除用小括号括起来的能运算外,一律按照拼接输出 阅读全文
posted @ 2022-02-08 09:37 codemelo 阅读(95) 评论(0) 推荐(0)
摘要:当基本类型转成string,string = 基本数据类型的值 + “ ”(中间是空格),比如 int A = 100 ,String(s大写) a = A + " " ; 当string转成基本类型,XX 变量 = XX(英文全称).parseX(大写)X(字符串变量),比如 string a = 阅读全文
posted @ 2022-02-07 17:40 codemelo 阅读(158) 评论(0) 推荐(0)
摘要:1.在控制台编译时,留意java文件的编码是否和控制台一致,以免乱码。 2.源文件名字必须和public类名相同。 3.一个java文件最多有一个public的类,其他类个数不限,并且每一个类都会生成一个同名的class文件,倘若在非public类中有写到主方法,那么同样可以运行这些非public类 阅读全文
posted @ 2022-02-05 16:34 codemelo 阅读(185) 评论(0) 推荐(0)
摘要:JDK(java development kit ,java开发配套工具包) JDK=JRE+java开发工具,JDK是给java开发人员用的,里面包含了JRE,安装了JDK后就不用安装JRE了。 JRE(java run-time enviroment,java运行环境 ) JRE=JVM+jav 阅读全文
posted @ 2022-02-05 11:48 codemelo 阅读(197) 评论(0) 推荐(0)