`
jingwuyuan
  • 浏览: 9116 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

java核心技术基础知识个人总结之——基本程序设计结构

阅读更多
开始好好学习JAVA的基础知识,也开始每天写一些自己的总结,在这发贴也是想勉励自己,过一段时间会开始把JAVASCRIPT的学习心得发上来。


一、基本数据类型:分为整型(4),浮点型(2),字符型,布尔型,一共8种
1.整型需要注意的:JAVA整型的范围与运行JAVA代码的机器无关的,所以很难发生整数溢出的情况,原理是JAVA的每一种数据类型的取值范围都是规定了的,不能改动。byte占1个字节,范围是-128到127;short占2个字节,范围是3W左右;int占4个字节,范围在20亿左右;long占8个字节,需要注意的是有个后缀L。JAVA没有无符号类型。
2.浮点类型:float占4个字节,后缀为F;double占8个字节;JAVA浮点型是二进制系统表示的,所以无法精确表示1/10,所以不适用于要求不能舍入误差的高精度计算系统中,如金融系统。Double类有3个常量:Double.POSITIVE_INFINITY表示无限大,Double.NEGATIVE_INFINITY表示无限小,Double.NaN表示不是一个数字,但是JAVA所有非数值都认为是不同的,所以比较NaN时要用方法:Double.isNaN(Object o); 
3.字符型:在JAVA中用UTF-16编码描述一个代码单元的。代码点是指可用于编码字符集的数字,UTF-32:用4个字节既32位表示代码点,消耗资源过大;UTF-8:使用一至四个字节的序列对编码 Unicode 代码点进行编码,很好的节约资源,用于AJAX返回的XML很好。UTF-16:使用一个或两个未分配的 16 位代码单元的序列对 Unicode 代码点进行编码;\u表示字符转义号,还可以用于“”和‘’外。
4.布尔型:boolean:false和true,需要注意的是:java中不能非0值当true,0当false,不支持直接的转换。


二、变量:关键字final表示的是一个常量,一旦赋值后不能改变,习惯常量名用大写。


三、运算:浮点数被0除得到无穷大或NaN,而整型会产生异常;strictfp关键字可以用在域上,包括类,那么里面使用严格的浮点计算;
1.运算中的类型转换:如果两个数中有一个是double类型的,那么另一个也将转换为double类型;如果两个数中有一个是float类型的,那么另一个也将转换为float类型;如果两个数中有一个是long类型的,那么另一个也将转换为long类型;否则,两个操作数都将被转换为int类型.Math类提供了很多关于运算的静态方法
2.移位运算:<<左移操作,所有操作数向左移动,每移一位最右边用0补充;>>带符号位右移:连同符号位一起右移,每移一位最左边用符号位补充;>>>无符号右移:连同符号位一起右移,每移一位最左边用0补充。右边的参数需要进行模32位运算(long进行64位模运算)。注意1<<31得到的结果是负数:-2147483648,JAVA在32位下最高位为1其余为0的时候表示的并不是-0.而是32位下最小负整数:-2147483648


四、字符串:代码点—codePoint.
1.String常用API:
  char charAt(int index)返回指定位置的代码单元。
  int codePointAt(int index)返回从给定位置开始或结束的代码点。
  int offsetByCodePoints(int startIndex,int cpCount)返回从startIndex代码点开始,位移cpCount后的代码点索引。
  int codePointCount(int startIndex,int endInex)返回起始位置到结束位置之间代码点的数量。
  int compareTo(String other)如果字符串位于other之前,返回一个负数;如果字符串位于other之后,返回一个正数;如果相等,返回0。
  boolean startsWith(String startstr)如果字符串是以startstr开头,返回true。
  boolean endsWith(String endstr)如果字符串是以endstr结尾,返回true。
  boolean equals(Object other)2个对象相等,返回true。
  boolean equalsIgnoreCase(String other)2个字符串忽略大小写相等返回true。
  int indexOf(String str)||(String str,int fromIndex)||(int cp)||(int cp,int fromIndex)从fromIndex位置开始计算,返回字串或者代码点第一次出现的位置。
  int lastindexOF 同上,不过是返回字串最后一次出现的位置。
  int length()返回串长度,准确的说是返回代码单元数量。
  String substring(int begin)||(int begin,int end)截取字符串。
  String toLowerCase() ;String toUpperCase();分别是转小写,和转大写。
  String trim();删除原始字符串头部和尾部空格。
  String replace(String old,String new)用NEW去替换OLD,没有构造正则好用。
2.StringBuilder 常用API:和类StringBuffer的用法基本一样,只是StringBuffer支持多线程,效率稍微低。


五、输入输出:
1、Scanner类:可以用一个给定的输入流创建该对象,例如用标准输入流创建:
   Scanner s=new Scanner(System.in),也可以用一个File对象构造一个Scanner对象,如:
   Scanner s=new Scanner(new File(String FilePath));
   作为一个读取的类,Scanner主要有以下的方法:String nextLine();String next();Int nextInt();
   double nextDouble();
(java6 有Console类可以读取密码不可见:Console cons=System.console(); cons.readPassword(""))
   相应的有一些检测的hasNext方法;
2、PrintWriter类:可以用一个File对象构造一个PrintWriter对象:
   PrintWriter pw=new PrintWriter(new File(String FilePath));
   作为一个写出的类,PrintWriter主要的方法有:write(String str),print,println,printf等。


六、控制流程:do_while语句中do语句块里的局部变量在while的()已经没有生命周期!for语句中的()里的变量可以在{}语句块中使用。
switch语句的case标签必须是整数或者枚举类型常量,如果在case分支语句的末尾没有break语句,那么会接着执行下一个case分支语句。
带标签的break语句,标签必须放在希望跳出的最外层循环之前,紧跟一个冒号。
  

七、大数值:BigInteger和BigDecimal分别实现了任意长度的整形和任意长度的浮点型。都可以用valueOf(long/double)方法通过一个基本的类型去构造他们,他们的运算方法一样,如下:
add:加法;subtract:减法;multiply:乘法;divide:除法;mod:求余数;这两个类都实现了Comparable这个接口,于是有compareTo比较大小的方法。


八、数组:在java 6中的Arrays类有方法Object[] copyOf(Object oldArray[],int length)该静态方法将一个数组的值复制到一个新数组中,第2个参数指定新数组的长度,并返回新数组,如果新数组有多余元素,则数值型被赋值0,boolean型被赋值false。如果长度小于原始数组长度,只拷贝最前面的数据元素。以上的方法只有JDK6.0版本以上才有。
  System.arraycopy(from[],int fromIndex,to[],int toIndex,int conut)方法也是数组的拷贝,参数含义是从数组from的位置是fromIndex的元素开始拷贝总数为conut个元素到数组to从toIndex位置开始,该方法需要注意数组to必须有足够的空间存放拷贝的元素。
  Math.ronud是四舍五入,Math.random是返回一个0到1(不含0,不含1)的随即浮点数,用N乘以这个浮点数,就可以得到0到N-1之间的一个随即数。
数组可以使用for(:)这个循环,Arrays有很多静态的方法提供使用:
toString(type[]a):将数组转化为字符串
copyOf在6.0以后的版本才有,并且参数可以为3个(type[]a,int start,int end),start-end表示要拷贝的长度。
sort:快速排序算法的排序。
binarySearch(type[]a,type v)||(type []a,int start,int end,type v)用二分搜索法查找一个元素,成功返回下标值,否则返回一个负数r,-r-1是为保持A的有序应插入的位置,我大概估计了下,既然是2分搜索,那么这个数组里的元素应该是通过实现了Comparable这个接口排过序的,这个方法要比自己去循环查找要快很多,不过要进行一次sort方法,不知道会不会在整体上影响效率。
fill(type[],type v)将数组的所有元素的值设置为V。
equals(type[]a,type[]b)如果a,b大小相同,并且下标相同的元素也相等,返回true。
java实际上是没有多维数组的,只有数组的数组,这让java十分的灵活可以创造任意部规则的数组。
分享到:
评论

相关推荐

    JAVA 核心技术基础篇1

    全书共14章,包括Java基本的程序结构、对象与类、继承、接口与内部类、图形程序设计、事件处理、Swing用户界面组件、部署应用程序和Applet、异常日志断言和调试、泛型程序设计、集合以及多线程等内容。. 全书对Java...

    《Java语言程序设计——基础篇》第二章基本程序设计示例.zip

    《Java语言程序设计——基础篇》是Java语言的经典教材,中文版分为《Java语言程序设计基础篇》和《Java语言程序设计进阶篇》主要介绍语法结构、面向对象程序设计基础知识到面向对象程序设计、图形用户界面设计、异常...

    仓库管理源代码——JAVA程序设计

    《仓库管理源代码——JAVA程序设计》是华中科技大学一项四年的课程设计项目,旨在让学生通过实际编程经验,深入理解仓库管理系统的设计与实现。在这个项目中,学生将使用Java编程语言,结合数据库技术,构建一个完整...

    《Java语言程序设计——基础篇》第三章选择作业答案.zip

    《Java语言程序设计——基础篇》是Java语言的经典教材,中文版分为《Java语言程序设计基础篇》和《Java语言程序设计进阶篇》主要介绍语法结构、面向对象程序设计基础知识到面向对象程序设计、图形用户界面设计、异常...

    JAVA核心知识点整理——java自学资料.rar

    这份"JAVA核心知识点整理——java自学资料.rar"包含了一份详细的Java学习资源,旨在帮助已经具备一定Java基础知识的开发者进一步提升技能,深入理解Java的底层机制。以下是这份资料可能涵盖的一些核心知识点和学习...

    Java自学之路——超仔细含练习项目及源码 Java知识体系最强总结————含各个阶段的面试题

    本篇文章旨在根据提供的文件信息,深入解读Java自学之路的关键知识点,并针对其中提到的学习资源进行详细的解析,帮助初学者更好地掌握Java的核心知识和技术要点。 ##### 1. Java的历史与背景 Java最初由Sun ...

    java 基础知识储备(csdn)————程序.pdf

    Java的基础知识包括其历史背景、主要特点、不同版本及其重要组件,如JDK、JRE和JVM。 1. **Java的起源**: Java起源于1995年,由James Gosling等人在Sun Microsystems公司开发。它的设计目标是创建一种简洁、面向...

    KJava深入浅出——Java在PDA上的程序设计

    《KJava深入浅出——Java在PDA上的程序设计》一书主要涵盖了Java技术在掌上设备(PDA)上的应用开发,旨在帮助开发者理解和掌握KJava编程的基础知识和实战技巧。KJava是Java Micro Edition (Java ME)的一个分支,...

    《Java语言程序设计——基础篇》第一章计算机、程序和Java概述作业答案.zip

    《Java语言程序设计——基础篇》是Java语言的经典教材,中文版分为《Java语言程序设计基础篇》和《Java语言程序设计进阶篇》主要介绍语法结构、面向对象程序设计基础知识到面向对象程序设计、图形用户界面设计、异常...

    《Java语言程序设计——基础篇》第三章选择示例.zip

    《Java语言程序设计——基础篇》是Java语言的经典教材,中文版分为《Java语言程序设计基础篇》和《Java语言程序设计进阶篇》主要介绍语法结构、面向对象程序设计基础知识到面向对象程序设计、图形用户界面设计、异常...

    《Java语言程序设计——基础篇》第五章方法示例.zip

    《Java语言程序设计——基础篇》是Java语言的经典教材,中文版分为《Java语言程序设计基础篇》和《Java语言程序设计进阶篇》主要介绍语法结构、面向对象程序设计基础知识到面向对象程序设计、图形用户界面设计、异常...

    《Java语言程序设计——基础篇》第四章循环示例.zip

    《Java语言程序设计——基础篇》是Java语言的经典教材,中文版分为《Java语言程序设计基础篇》和《Java语言程序设计进阶篇》主要介绍语法结构、面向对象程序设计基础知识到面向对象程序设计、图形用户界面设计、异常...

    第六届全国信息技术应用水平大赛——JAVA程序设计

    Java程序设计是信息技术领域中的重要组成部分,特别是在全国信息技术应用水平大赛这样的高级别竞赛中,它占据了核心地位。第六届全国信息技术应用水平大赛以JAVA程序设计为主题,意味着参赛者需要深入理解和熟练掌握...

    深入体验Java Web开发内幕——核心基础

    本主题将深入探讨Java Web开发的核心基础知识,帮助你全面理解这一技术的内在机制。 一、Java Web 开发概述 Java Web开发是利用Java语言进行网络应用设计的技术体系,主要由Servlet、JSP(JavaServer Pages)、JSTL...

    Java 2 平台安全技术——结构, API 设计和实现

    在深入探讨这些技术之前,我们首先要理解Java安全模型的基础——沙箱模型。这个模型将Java应用程序运行在一个受限的环境中,防止它们对操作系统或者其他不受信任的代码造成潜在的危害。 Java的安全架构主要由三个...

    Java程序设计基础答案

    Java程序设计基础是计算机科学领域一个至关重要的课程,主要针对初学者,旨在教授如何使用Java语言进行编程。这个课程涵盖了一系列的关键概念和技术,包括语法、数据类型、控制结构、类与对象、异常处理、集合框架等...

    “课堂革命”背景下高职计算机类专业课程信息化教学改革研究——以高职“Java程序设计基础”为例.pdf

    本研究以梧州职业学院软件技术专业“Java程序设计基础”课程为例,引导教师以信息化元素为抓手,开展线上线下混合式教学、分工协作的项目化教学,完善教学质量过程监控和教学过程跟踪机制,打造优质课堂,提升教学...

    《面向对象程序设计——Java语言》电子课件(程细柱PPT)

    《面向对象程序设计——Java语言》是一门深入探讨如何使用Java进行面向对象编程的课程,由知名讲师程细柱制作的PPT电子课件。面向对象编程(Object-Oriented Programming,简称OOP)是现代软件开发中的核心编程范式...

    JAVA课程设计——记事本程序

    在本JAVA课程设计项目中,我们专注于开发一个记事本程序,它涵盖了基本文本编辑器的所有核心功能。这个记事本程序用Java编程语言编写,展现了Java在创建桌面应用程序方面的强大能力。以下是对该程序各个关键知识点的...

Global site tag (gtag.js) - Google Analytics