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


  1. public class TypeConversion
  2. {
  3. public static void main(String[] args){
  4. //String --> int
  5. String s = "111";
  6. int i1 = Integer.parseInt(s); //直接使用静态方法,不会产生多余的对象,但会抛出异常
  7. System.out.println("String --> int : i1=" + i1);
  8. int i2 = Integer.valueOf(s).intValue(); //Integer.valueOf(s) 相当于 new Integer(Integer.parseInt(s)),也会抛异常,但会多产生一个对象
  9. System.out.println("String --> int : i2=" + i2);
  10. int i3 = Integer.parseInt(s,10);//若int i = Integer.parseInt("123",16);即可以看成i = 1*16*16+2*16+3
  11. System.out.println("String --> int : i3=" + i3 + '\n');
  12. //int --> String
  13. int j = 222;
  14. String t1 = String.valueOf(j);//直接使用String类的静态方法,只产生一个对象
  15. System.out.println("int --> String : t1=" + t1);
  16. String t2 = Integer.toString(j); //直接使用静态方法,产生新的对象,会抛出异常
  17. System.out.println("int --> String : t2=" + t2);
  18. String t3 = "" + j; //会产生两个String对象
  19. System.out.println("int --> String : t3=" + t3 + '\n');
  20. //int --> Integer
  21. int m = 333;
  22. Integer n1 = m; //装箱
  23. System.out.println("int --> Integer:n1=" + n1);
  24. Integer n2 = new Integer(n1);
  25. System.out.println("int --> Integer:n2=" + n2);
  26. Integer n3 = Integer.valueOf(n2);
  27. System.out.println("int --> Integer:n3=" + n3 + '\n');
  28. //Integer --> int
  29. Integer x=444;
  30. int y1 = x; //拆箱
  31. System.out.println("Integer --> int:y1=" + y1);
  32. int y2 = x.intValue();
  33. System.out.println("Integer --> int:y2=" + y2);
  34. int y3 = Integer.valueOf(x);
  35. System.out.println("Integer --> int:y3=" + y3 + '\n');
  36. //String --> Integer
  37. String r = "555";
  38. Integer k1 = Integer.valueOf(r); //这种方法常用
  39. System.out.println("String --> Integer:k1=" + k1);
  40. Integer k2 = new Integer(r);
  41. System.out.println("String --> Integer:k2=" + k2);
  42. Integer k3 = Integer.parseInt(r);
  43. System.out.println("String --> Integer:k3=" + k3);
  44. Integer k4 = Integer.parseInt(r,10);
  45. System.out.println("String --> Integer:k4=" + k4 + '\n');
  46. //Integer --> String
  47. Integer l = 666;
  48. String z1 = String.valueOf(l);
  49. System.out.println("Integer --> Stringf:z1=" + z1);
  50. String z2 = l.toString();
  51. System.out.println("Integer --> Stringf:z2=" + z2);
  52. String z3 = "" + l;
  53. System.out.println("Integer --> Stringf:z3=" + z3 + '\n');
  54. }
  55. }

4.用Java编程实现以下功能:通过键盘输入两个数,初始化并将这两个数值交换后,输出显示后的数据。


  1. import java.util.Scanner;
  2. public class StudyDiary02
  3. {
  4. public static void main(String[] args){
  5. Scanner input = new Scanner(System.in);
  6. System.out.print("请输入第一个值:");
  7. int a = input.nextInt();
  8. System.out.print("请输入第二个值:");
  9. int b = input.nextInt();
  10. System.out.println("交换之前的两个值为"+a+","+b);
  11. int c;
  12. c = a;
  13. a = b;
  14. b = c;
  15. System.out.println("交换之后的两个值为"+a+","+b);
  16. }
  17. }

5.用Java编程实现以下功能:定义一个五位整数,求各个位上的数的和。


  1. import java.util.Scanner;
  2. public class StudyDiary03
  3. {
  4. public static void main(String[] args) {
  5. Scanner in = new Scanner(System.in);
  6. System.out.print("请输入一个五位整数:");
  7. int i = in.nextInt();
  8. int sum = 0;
  9. if (i < 10000 || i > 99999) {
  10. System.out.println("输入有误!");
  11. } else {
  12. for (int j = 0; j < 5 ; j++ ) {
  13. sum += i % 10;
  14. i = i / 10;
  15. }
  16. System.out.println("该五位整数各位数上之和为sum=" + sum );
  17. }
  18. }
  19. }



6.用Java编程实现以下功能:根据天数计算其包含的周数和剩余的天数。(天数通过键盘输入)


  1. import java.util.Scanner;
  2. public class StudyDiary04
  3. {
  4. public static void main(String[] args){
  5. Scanner in = new Scanner(System.in);
  6. System.out.print("请输入要转换的天数:");
  7. int day = in.nextInt();
  8. int week = day / 7;
  9. day = day % 7;
  10. System.out.println("为" + week + "周," + day + "天。");
  11. }
  12. }



7.学会使用API文档,看一看String类的所有方法。

8.明确什么是引用类型,和C++的指针有什么异同,掌握java中数组的基本知识,例如(动态/静态)初始化,赋值,求大小,关于大小改变与C/C++中的区别。


Java中一些知识的归纳总结的更多相关文章

  1. java中多线程知识

    参考:http://www.cnblogs.com/wxd0108/p/5479442. 引 如果对什么是线程.什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内. 用多线程只 ...

  2. java中的字符串相关知识整理

    字符串为什么这么重要 写了多年java的开发应该对String不陌生,但是我却越发觉得它陌生.每学一门编程语言就会与字符串这个关键词打不少交道.看来它真的很重要. 字符串就是一系列的字符组合的串,如果 ...

  3. java中基础类型的初始值,以及一些平时不注意的小知识

    有时候总是卡在一些类型的初始值上,今天闲下来就来自己给自己记录一下. String   a; 如果直接打印会提示未初始化.并且未初始化的a不能比较. 这时,我们定义个person类 person{ S ...

  4. Java中实现异常处理的基础知识

    Java中实现异常处理的基础知识 异常 (Exception):发生于程序执行期间,表明出现了一个非法的运行状况.许多JDK中的方法在检测到非法情况时,都会抛出一个异常对象. 例如:数组越界和被0除. ...

  5. 关于Java中面向对象章节、IO 流中的重点基础知识。

    一.面向对象的三大特征,以及作用. 答:面向对象的三大特征即,封装性.继承性.多态性. 其分别的作用为 : 封装作用:将数据封装起来,提高数据的安全性, 继承作用:提高代码的复用性,减少冗余代码. 多 ...

  6. Java开发知识之Java中的Map结构

    Java开发知识之Java中的Map结构 一丶Map接口 Map没有实现Collection接口,提供的是Key 到Value的映射. Map中.不能包含相同的Key,每个Key只能映射一个Value ...

  7. Java开发知识之Java中的集合Set接口以及子类应用

    ---恢复内容开始--- Java开发知识之Java中的集合Set接口以及子类应用 一丶Set接口以及作用 在上一讲.我们熟悉了接口的实现图.以及自己各有的子类. List接口主要存储的数据是可以重复 ...

  8. Java开发知识之Java中的集合上List接口以及子类讲解.

    Java开发知识之Java中的集合类 一丶什么是集合类 如果你学习说数据结构,那么学习集合就很简单. 因为集合就是存储数据的结构. 例如 有链表结构 (list ) 还有 map结构.等等. 集合类就 ...

  9. Java开发知识之Java中的泛型

    Java开发知识之Java中的泛型 一丶简介什么是泛型. 泛型就是指泛指任何数据类型. 就是把数据类型用泛型替代了. 这样是可以的. 二丶Java中的泛型 Java中,所有类的父类都是Object类. ...

随机推荐

  1. Django调试models输出的SQL语句

    django1.3在shell下,调试models变得更为简单了,不用像之前的版本,手工去调用django query,才能打印出之前的代码是执行的什么SQL语句. 1.3开始只需在settings. ...

  2. kill -9 vs killall

    kill Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令.通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后 ...

  3. 对工具的反思 & deadlines与致歉

    人和动物最大的区别就是使用工具的水平. 有些人只凭着对工具的熟练掌握便成了牛人. 工具,到底应该以何种态度去看待? 在我小的时候,工具仅仅是指树枝.线.粉笔,可以让自己有更多游戏可玩:上学之后,便又有 ...

  4. dom知识总结

    一.dom节点的关系及遍历 element.firstChild; 如果节点为已知节点的第一个子节点就可以使用这个方法.此方法可以递归进行使用 element.firstChild.firstChil ...

  5. Android 上能提高学习工作效率的应用

    在知乎上有朋友问 Android 上能提高学习.工作效率的应用有哪些?我给他们的推荐获得了最多赞同.以后会不断完善更新此贴. Any.do :规划日程,各平台都有. Evernote:记笔记,各平台都 ...

  6. ProxySQL初体验

      Preface       As we all know,it's a common sense that separate reading and writing operations can ...

  7. (转)简述47种Shader Map的渲染原理与制作方法

    在Shader中会使用各种不同图参与渲染,所以简单地总结下各种图的渲染原理.制作方法,最后面几种是程序生成图. 1. Albedo 2. Diffuse(Photographic) 从上图可以看出来, ...

  8. Dijkstra标准模板

    Dijkstra求最短路问题:单元求最短路,从任意点出发求得该点到达其他任意点的距离 Dijkstra其实是一种贪心策略,与出发点(即源点)所连接的点中找到距离最短的点(这个距离是源点到这个点的最短距 ...

  9. 关于2018年东南大学Robomaster算法组工作的总结

    笔者在写作时,为东南大学机器人俱乐部下Robomaster大赛SUPER NOVA战队算法组的负责人之一(这名字写起来好长).而SUPER NOVA战队则于2018年5月19日正式结束了中部分区赛,获 ...

  10. LeetCode 237 ——删除链表中的结点

    1. 题目 2. 解答 因为给定的只有一个待删除的结点指针,我们并不知道其前面结点,所以需要将待删除结点后面的结点值复制到前面结点去,然后指向其后的第二个结点即可. /** * Definition ...