1.包装类型与基本数据类型的区别。
Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这使得Java在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),包装类也就是基础数据类型的引用类型。 包装类均位于java.lang包,包装类和基本数据类型的对应关系如下表所示:
在这八个类名中,除了Integer和Character类以外,其它六个类的类名和基本数据类型一致,只是类名的第一个字母大写即可。
对于包装类来说,这些类的用途主要包含两种:
a、作为和基本数据类型对应的类类型存在,方便涉及到对象的操作。
b、包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。
2.Java中valueOf()、xxxValue()、parseXxx()方法的一些练习。
3.Java中的类型转换。
(1)String转换为int
int i = Integer.parseInt(str);
int i = Integer.valueOf(str).intValue();
(2)String转换为Integer
两种构造方法的区别,Character只有一种
(3)int转换为String
String s = s.valueOf(i);
String s = Integer.toString(i);
String s = “”+i;
(4)int转换为Integer
(5)Integer转换为String
(6)Integer转换为int
-
public
class TypeConversion
-
{
-
public static void main(String[] args){
-
-
//String --> int
-
String s =
"111";
-
int i1 = Integer.parseInt(s);
//直接使用静态方法,不会产生多余的对象,但会抛出异常
-
System.out.println(
"String --> int : i1=" + i1);
-
-
int i2 = Integer.valueOf(s).intValue();
//Integer.valueOf(s) 相当于 new Integer(Integer.parseInt(s)),也会抛异常,但会多产生一个对象
-
System.out.println(
"String --> int : i2=" + i2);
-
-
int i3 = Integer.parseInt(s,
10);
//若int i = Integer.parseInt("123",16);即可以看成i = 1*16*16+2*16+3
-
System.out.println(
"String --> int : i3=" + i3 +
'\n');
-
-
-
//int --> String
-
int j =
222;
-
String t1 = String.valueOf(j);
//直接使用String类的静态方法,只产生一个对象
-
System.out.println(
"int --> String : t1=" + t1);
-
-
String t2 = Integer.toString(j);
//直接使用静态方法,产生新的对象,会抛出异常
-
System.out.println(
"int --> String : t2=" + t2);
-
-
String t3 =
"" + j;
//会产生两个String对象
-
System.out.println(
"int --> String : t3=" + t3 +
'\n');
-
-
-
//int --> Integer
-
int m =
333;
-
Integer n1 = m;
//装箱
-
System.out.println(
"int --> Integer:n1=" + n1);
-
-
Integer n2 =
new Integer(n1);
-
System.out.println(
"int --> Integer:n2=" + n2);
-
-
Integer n3 = Integer.valueOf(n2);
-
System.out.println(
"int --> Integer:n3=" + n3 +
'\n');
-
-
-
//Integer --> int
-
Integer x=
444;
-
int y1 = x;
//拆箱
-
System.out.println(
"Integer --> int:y1=" + y1);
-
-
int y2 = x.intValue();
-
System.out.println(
"Integer --> int:y2=" + y2);
-
-
int y3 = Integer.valueOf(x);
-
System.out.println(
"Integer --> int:y3=" + y3 +
'\n');
-
-
-
//String --> Integer
-
String r =
"555";
-
Integer k1 = Integer.valueOf(r);
//这种方法常用
-
System.out.println(
"String --> Integer:k1=" + k1);
-
-
Integer k2 =
new Integer(r);
-
System.out.println(
"String --> Integer:k2=" + k2);
-
-
Integer k3 = Integer.parseInt(r);
-
System.out.println(
"String --> Integer:k3=" + k3);
-
-
Integer k4 = Integer.parseInt(r,
10);
-
System.out.println(
"String --> Integer:k4=" + k4 +
'\n');
-
-
-
//Integer --> String
-
Integer l =
666;
-
String z1 = String.valueOf(l);
-
System.out.println(
"Integer --> Stringf:z1=" + z1);
-
-
String z2 = l.toString();
-
System.out.println(
"Integer --> Stringf:z2=" + z2);
-
-
String z3 =
"" + l;
-
System.out.println(
"Integer --> Stringf:z3=" + z3 +
'\n');
-
}
-
-
}
-
4.用Java编程实现以下功能:通过键盘输入两个数,初始化并将这两个数值交换后,输出显示后的数据。
-
import java.util.Scanner;
-
public
class StudyDiary02
-
{
-
public static void main(String[] args){
-
Scanner input =
new Scanner(System.in);
-
System.out.print(
"请输入第一个值:");
-
int a = input.nextInt();
-
System.out.print(
"请输入第二个值:");
-
int b = input.nextInt();
-
System.out.println(
"交换之前的两个值为"+a+
","+b);
-
int c;
-
c = a;
-
a = b;
-
b = c;
-
System.out.println(
"交换之后的两个值为"+a+
","+b);
-
}
-
}
5.用Java编程实现以下功能:定义一个五位整数,求各个位上的数的和。
-
import java.util.Scanner;
-
-
public
class StudyDiary03
-
{
-
public static void main(String[] args) {
-
Scanner in =
new Scanner(System.in);
-
System.out.print(
"请输入一个五位整数:");
-
int i = in.nextInt();
-
int sum =
0;
-
if (i <
10000 || i >
99999) {
-
System.out.println(
"输入有误!");
-
}
else {
-
for (
int j =
0; j <
5 ; j++ ) {
-
sum += i %
10;
-
i = i /
10;
-
}
-
System.out.println(
"该五位整数各位数上之和为sum=" + sum );
-
}
-
}
-
}
6.用Java编程实现以下功能:根据天数计算其包含的周数和剩余的天数。(天数通过键盘输入)
-
import java.util.Scanner;
-
public
class StudyDiary04
-
{
-
public static void main(String[] args){
-
Scanner in =
new Scanner(System.in);
-
System.out.print(
"请输入要转换的天数:");
-
int day = in.nextInt();
-
int week = day /
7;
-
day = day %
7;
-
System.out.println(
"为" + week +
"周," + day +
"天。");
-
}
-
}
7.学会使用API文档,看一看String类的所有方法。
8.明确什么是引用类型,和C++的指针有什么异同,掌握java中数组的基本知识,例如(动态/静态)初始化,赋值,求大小,关于大小改变与C/C++中的区别。