JAVA基础知识-查漏补缺
- boolean -->默认值为false
- float–> 默认值为0.0f
- 类型转换总结:
1、只有 boolean 不参与数据类型的转换
2、自动类型的转换:
a.常数在表数范围内是能够自动类型转换的 b.数据范围小的能够自动数据类型大的转换(注意特例) float 到 int,float 到
long,double 到 int,double 到 long 等由浮点类型转换成整数类型时,是不会自动转换的,不然将会丢失精度。
c.引用类型能够自动转换为父类的 d.基本类型和它们包装类型是能够互相转换的
3、强制类型转换:用圆括号括起来目标类型,置于变量前
- char类型字符,在转换为字符串时,会自动转换为其对应的ASCII码
如:
char a ='A';
System.out.println("a="+a) //结果显示a=65
char c = 65;
System.out.println("c = "+c); //结果显示c=A
- 关于数组的定义:
double[] myList = new double[size];
//size为大小为3的数组 如 double[] myList = new double[3];
myList[0] = 5.6;
myList[1] = 4.5;
myList[2] = 3.3;
---------以下两种方法都可以-----------
double[] myList; // 首选的方法
或
double myList[]; // 效果相同,但不是首选方法
double[] myList = {1.9, 2.9, 3.4, 3.5};
// 打印所有数组元素 .lenth 是数组的长度
for (int i = 0; i < myList.length; i++) {
System.out.println(myList[i] + " ");
}
// 用for-each循环来打印数组元素
for(type element: myList)
{
System.out.println(element);
}
- 关于二维数组
int[][] a = new int[2][3];
二维数组 a 可以看成一个两行三列的数组。
String[][] s = new String[2][];
s[0] = new String[2];
s[1] = new String[3];
s[0][0] = new String("Good");
s[0][1] = new String("Luck");
s[1][0] = new String("to");
s[1][1] = new String("you");
s[1][2] = new String("!");
----另一种方法----
// 声明二维数组:有两行,列数待定,数组结构 = { { }, { } }
String s[][] = new String[2][];
// 确定每行的元素个数,第一行有2个元素,第二行有3个元素,
// 数组结构 = {{"E1", "E2"}, {"E1", "E2", "E3"}}
s[0] = new String[2];
s[1] = new String[3];
- 关于运算符
了解下 --> 一元运算符:一元运算符有1个操作数。例如,递增运算符"++"就是一元运算符。
如:a++,a-- ++a,–a
-5 -->即 正数5 变为了负数5
//定义一个byte类型变量 byte b = 1; //用一元加号后赋值给c,发现报错。 byte c = +b; //再赋值给整型变量d后能编译通过,证明b编程了int型。 int d = +b;
(一元减号用于转变数据的符号,而一元加号只是为了与一元减号相对应,但是 它唯一的作用仅仅是将较小类型的操作数提升为int.)
二元运算符:二元运算符有2个操作数。例如,除法运算符"/"有2个操作数。
三元运算符:三元运算符有3个操作数。例如,条件运算符"?:"具有3个操作数。
- 所有异常类的基类是? Java.Lang.throwable
- 子类可以访问所有(子类与超类)的 public 和 protected 方法
- Java 文件的命名必须满足如下规则 :Java 程序源文件的后缀必须是 .java ,不能是其他文件后缀名 ;如果 Java 程序源代码里定义了一个 public 类 ,则该源文件的主文件名必须与该 public 类(也就是该类定义使用了 public 关键字修饰)的类名相同 ;如果 Java 程序源代码里没有定义任何 public 类 ,那么 Java 程序源程序的主文件名可以是任意的;
- 基本类型类型以及对象的引用变量是存储在栈内存中 ;而对象本身的值或者说 new 创建的对象和数组是存储在堆内存中。
- java 基本数据类型传递参数时是值传递 ;引用类型传递参数时是引用传递 。然而数组虽然是引用传递 ,但是将引用 z = null 只是将引用z不指向任何对象 ,并不会对原先指向的对象数据进行修改 。(数组作为参数是引用传递 ,在 方法中可以修改数组的值 。)
- str.toUpperCase() 将字符串小写字母转换为大写字母,但是它不会改变原始的字符串。 str.substring(x, y) 返回 ‘x’(包含) 到 ‘y’(不包含) 位置的字符串。 str.charAt(x) 返回 x 位置的字符。
- Java 静态函数中不能调用非静态函数的方法。
- 在 Java 应用程序中永远不会传递对象,而只传递对象引用。因此是按引用传递对象。
- Java 函数不允许参数设置默认值。
- obj.hashCode() 函数返回对象的 32 位哈希值。 obj1.equals(obj2) 用于判断两个对象的值是否相等。 obj1 == obj2 在两个对象引用同一个对象时才会相等。
- clone( ) 方法调用时会生成多个对象的拷贝。 类只有在实现 Cloneable 接口才可以实现克隆。