3.1 一个简单的Java应用程序
Java对大小写敏感。
Java应用程序中的全部内容都必须放置在类中。
Java定义类名:名字必须以字母开头,后面可以跟字母和任意数字的组合,长度上基本上没有限制,但是不能使用Java关键字。
在Java中,每个句子必须用分号结束。
3.2 注释
在Java中有三种表示注释的方式:
// 注释内容从“//”开始到本行结束
/* */ 注释内容从“/*”开始到“*/”结束
/** */ 注释内容从“/**”开始到“*/”结束,可用来自动生成文档
在Java中“/*”和“*/”不能嵌套
3.3 数据类型
Java是一种强类型语言(strongly type language),这就意味着必须要为每个变量声明一种类型。Java中一共有8种基本类型(primitive type),其中有4个整数类型,2个浮点数类型,1个用于表示Unicode编码的字符单元的字符类型char和一个用于标示真值的boolean类型。
3.3.1 整型
在Java中整型的范围与运行Java的机器无关。
长整型数值有一个后缀L,十六进制数值有个前缀0x,八进制数值有个前缀0,例如010对应八进制中的8。
Java没有任何的unsigned类型。
3.3.2 浮点型
浮点类型用于表示有小数部分的数值。
float 占用4字节,double占用8字节
float类型的数值有一个后缀F,没有后缀的浮点数值默认为double类型
在JDK5.0中可以使用十六进制表示浮点数,在十六进制表示法中,使用p表示指数,而不是e。
3.3.3 char类型
代码点(code point)是指与一个编码表中的某个字符对应的代码值。
UTF-16编码采用不同长度的编码表示所有的Unicode代码点。在基本的多语言级别中,每个字符用16位表示,通常被称为代码单元(code unit)
在Java中,char类型用UTF-16编码描述一个代码单元。
3.3.4 boolean类型
boolean类型有两个值:false和true,用来判断逻辑条件。这两个值不能与整型进行相互转换。
3.4 变量
变量名必须是一个以字母开头的字母或数字序列。
注意:如果要知道哪些Unicode字符属于Java中的“字母”,可以使用Character类的isJavaIdentifierStart和isJavaIdentifierPart进行检测。
3.4.1 初始化变量
3.4.2 常量
在Java中,利用关键字final声明常量。关键字final表示这个变量只能被赋值一次,一旦被赋值后就不能再更改了。
可以使用关键字static final设置一个类常量。
const是Java的保留的关键字,但目前并没有使用,在Java中必须使用final定义常量。
3.5 运算符
当参与/运算的两个操作数都是整数时表示整数除法,否则表示浮点数除法。
整数被0除将会产生一个异常,而浮点数被0除将会得到无穷大或NaN。
对于使用strictfp关键字标示的方法来说,必须使用严格的浮点计算,以产生理想的结果。
3.5.1 自增运算符与自减运算符
3.5.2 关系运算符与boolean运算符
3.5.3 位运算符
在处理整型数值时,可以直接对组成整型数值的各个位进行操作。
&(“与”)、|(“或”)、^(“异或”)、~(“非”)
还有“>>”和“<<”,他们将进行二进制位右移或左移,最后“>>>”运算符将用0填充前面的位,“>>”用符号位填充左侧的位。
没有“<<<”运算符。
警告:对移位运算符右侧的参数需要进行模32位的运算(除非左边的操作数十long类型,在这种情况下需对右侧操作数模64)。例如1<<35与1<<3或8是相同的。
3.5.4 数学函数与常量
在Math类中,包含了各种各样的数学函数。
3.5.5 数值类型之间的转换
3.5.6 强制类型转换
强制类型转换的语法格式是在圆括号中给出想要转换的目标类型,随后紧跟待转换的变量名。
警告:如果试图讲一个数值从一种类型强制转换为另一种类型,而又超出了目标类型的表示范围,结果就会被截断成一个完全不同的值,例如,(byte)300的实际值为44.
3.5.7 括号与运算符级别
因为+=是右结合运算符,所以表达式a+=b+=c等价与a+=(b+=c)
运算符 结合性
[] . () (方法调用) 从左向右
! ~ ++ -- +(一元运算)-(一元运算) ( )(强制类型转换)new 从右向左
* / % 从左向右
+ - 从左向右
<< >> <<< 从左向右
< <= > >= instenceof 从左向右
== != 从左向右
& 从左向右
^ 从左向右
| 从左向右
&& 从左向右
|| 从左向右
?: 从右向左
= += -= *= /= &= |= ^= <<= >>= >>>= 从右向左
3.5.8 枚举类型
从JDK5.0开始,可以自定义枚举类型。枚举类型包括有限个命名的值。
例如,
Enum Size{SMALL,MEDIUM,LARGE,EXTRA_LARGE}
3.6 字符串
从概念上讲,Java字符串就是Unicode字符序列。
Java没有内置的字符串类型,二十载表中的Java类库中提供了一个预定于类String。
3.6.1 代码点与代码单元
Java字符串由char值序列组成。大多数的常用Unicode字符使用一个代码单元就可以表示,而辅助字符需要一对代码单元表示。
Length方法将返回采用UTF-16编码表示的给定字符所需要的代码单元数量。如果要的到实际的长度,即代码点数量,可以使用codePointCount();
codePointAt方法能够辨别一个代码单元式辅助字符的第一部分还是第二部分,并且能够返回正确的结果。
3.6.2 子串
3.6.3 字符串编辑
String类没有提供用于修改现存字符串的方法。
由于不能修改Java字符串中的字符,所以在Java文档中将String类对象称为不可变字符串。不可变字符有一个优点:编译器可以将字符串共享。
3.6.4 拼接
Java语言允许使用+号连接(拼接)两个字符串。
当将一个字符与一个非字符串的值进行拼接时,后者被转化成字符串。
3.6.5 检测字符串是否相等
可以使用equals方法检测两个字符串是否相等。
一定不能使用= =运算符检测连个字符串是否相等!这个运算符只能够确定两个字符串是否被放置在同一个位置。
只有字符串常量是共享的,+或substring等操作产生的结果都不是共享的,因此永远不要使用= =运算符曾是字符串的相等性。
3.6.6 阅读联机API文档
3.7 输入输出
3.7.1 读取输入
要想通过控制台进行输入,首先需要构造一个Scanner对象,它附属于“标准输入流”System.in。
Scanner in = new Scanner(System.in);
3.7.2 格式化输出
注意:可以使用S转换符格式化任意的对象。对于任意实现了Formattable接口的对象都将调用formatTo方法;否则将调用toString方法,这个方法可以将对象转换为字符串。
3.8 控制流程
3.8.1 块作用域
块(即复合语句)是指由一对花括号括起来的若干条简单的Java语句。块确定了变量的作用域,一个块可以嵌套在另一个块中。
不能再嵌套的两个块中声明同名的两个变量。
3.8.2 条件语句
3.8.3 循环
while do while
3.8.4 确定循环
for
3.8.5 多重选择——switch语句
注意,case标签必须是整数或枚举常量,不能检测字符串。
3.8.6 中断控制流程语句
Java提供了一种带标签的break语句,用于跳槽多重嵌套的循环语句。标签必须放置在最外层的循环之前,并且必须紧跟一个冒号。
continue语句与break语句一样,它将中断正常的控制流程。Continue语句将控制转移到最内层循环的首部。
3.9 大数值
如果基本的证书和浮点数精度不能满足需求,就可以使用java.math包中的两个很有用的类:BigInteger和BigDecimal。这两个类可以处理任意长度的数值。
BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。
3.10 数组
一旦创建了数组,就不能再改变它的大小。
3.10.1 “for each”循环
集合表达式必须是一个数组或者是一个实现了Iterable接口的类对象。
3.10.2 数组初始化器以及匿名数组
注意:在Java中,允许数组的长度为0。在编写一个结果为数字的方法时,如果碰巧结果为空,那么这种语法形式就显得非常有用。测试可以创建一个长度为0的数组:
new elementType[0]
注意,数组长度为0,与null不同。
3.10.3 数组拷贝
在Java中,允许将一个数组变量拷贝给另一个数组变量。
如果希望将一个数组的所有值拷贝到另一个数组中去,就要使用System类的arraycopy方法。调用这个方法的语法格式为:
System.arraycopy(from,fromIndex,to,toIndex,count);
数组to必须有足够的空间来存放拷贝的元素。
3.10.4 命令行参数
每一个Java应用程序都有一个带String[] args参数的main方法。这个参数表名main方法将接收一个字符串数组,也就是命令行参数。
3.10.5 数组排序
Math.random方法将返回一个0~1之间(含0、不含1)的随机浮点数。
3.10.6 多维数组
多维数组将使用多个下标访问数组元素,它适用于表示表格或更加复杂的排列形式。
3.10.7 不规则数组
Java实际上没有多维数组,只有一维数组。多维数组解释为“数组的数组”。
分享到:
相关推荐
Java语言程序设计与数据结构第三章编程题.zip
为学习Java程序设计的基础同学提供习题代码的参考,便于他们掌握多种方法,得到解决问题的思路与想法,Java程序设计与数据结构第三章习题答案!!!
Java语言程序设计课件第二章 结构化程序设计,参考教材是清华大学雍俊海编写的Java程序设计教程第3版
《Java语言程序设计——基础篇》是Java语言的经典教材,中文版分为《Java语言程序设计基础篇》和《Java语言程序设计进阶篇》主要介绍语法结构、面向对象程序设计基础知识到面向对象程序设计、图形用户界面设计、异常...
第 3 章 面向对象程序设计基础 第 4 章 图形用户界面设计 第 5 章 Java swing基础 第 6 章 Java图形与数字图像处理 第7章 多线程与异常处理 第8章 输入输出流 第9章 网络通信 第10章Java数据库连接 第11章常见...
趣味性:习题基本上覆盖了程序员在编写Java程序时经常出现的问题Java程序设计知识要点,各习题也列出其测试要点,从而方便教师从中挑选或改编考题以及方便学生进行实战模拟练习或测试,同时也可以为SCJP考试作准备...
Java语言程序设计与数据结构(基础篇)第3章课后习题代码
完整版精品java课件 Java基础入门教程 Java程序设计 第3章 控制结构(共23页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第4章 类和对象(共57页).ppt 完整版精品java课件 Java基础入门教程 Java程序...
完整版精品java课件 Java基础入门教程 Java程序设计 第3章 控制结构(共23页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第4章 类和对象(共57页).ppt 完整版精品java课件 Java基础入门教程 Java程序...
Java语言程序设计与数据结构(基础篇)第11版(黑皮书)第一章节代码jdk1.8版本 1.1(显示三条消息)编写程序,显示Welcome to Java、Welcome to Computer Science和Programming is fun。 1.2(显示三条消息)编写...
Java程序设计:第3章 选择结构程序设计.ppt
2.6 本章小结 习题第3章 类的方法 3.1 方法的控制流程 3.1.1 if选择结构 3.1.2 switch选择结构 3.1.3 for循环结构 3.1.4 while语句 3.1.5 do while语句 3.1.6 break语句 3.1.7 continue语句 3.2 异常处理...
第3章 流程控制结构 3.1 流程控制结构概述 3.2 选择结构 3.3 循环结构 3.4 跳转语句 第4章 面向对象程序设计 4.1 面向对象基本概念 4.2 对象和类 4.3 接口 4.4 包 第5章 用户界面设计 5.1 图形用户界面设计...
完整版精品java课件 Java基础入门教程 Java程序设计 第3章 控制结构(共23页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第4章 类和对象(共57页).ppt 完整版精品java课件 Java基础入门教程 Java程序...
完整版精品java课件 Java基础入门教程 Java程序设计 第3章 控制结构(共23页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第4章 类和对象(共57页).ppt 完整版精品java课件 Java基础入门教程 Java程序...
Java语言程序设计与数据结构(基础篇)第13章课后习题代码
理论教材:《Java程序设计标准教程》 第1版 邱加永 人民邮电出版社 实验学时:26 要求 1 Java运行环境 通过在不同环境编译运行一个Java编程环境,认识Java程序结构。 2 Java语言基本语法 编写程序,练习使用Java...
Java语言程序设计与数据结构(基础篇)第11版(黑皮书)第一章节代码jdk18版本 1.1(显示三条消息)编写程序,显示Welcome to Java、Welcome to Computer Science和Programming is fun。 1.2(显示三条消息)编写...
完整版精品java课件 Java基础入门教程 Java程序设计 第3章 控制结构(共23页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第4章 类和对象(共57页).ppt 完整版精品java课件 Java基础入门教程 Java程序...
完整版精品java课件 Java基础入门教程 Java程序设计 第3章 控制结构(共23页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第4章 类和对象(共57页).ppt 完整版精品java课件 Java基础入门教程 Java程序...