- 浏览: 166066 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
wady:
谢谢,试了好多方法,终于在你这里找到有用的方法了!
ORA-12154: TNS: 无法解析指定的连接标识符 -
iceglove:
谢谢,
ORA-12154: TNS: 无法解析指定的连接标识符 -
sunnylocus:
不错,有空仔细看看
Powerdesigner数据库建模工具教程 -
caizhongda:
不能这么说。。。看你怎么用了,,Heritrix可以选项比较多 ...
Heritrix 爬虫与Nutch 爬虫 -
jasstion:
不错,看来是您实战经验的总结啊o(∩_∩)o...!
国内酒桌上的土规矩
Java语言由语法规则和类库两部分组成,其中语法规则确定了Java程序的书写规范,学习好语法规则是Java语言,也是所有编程语言的基本功。本文主要向大家简单介绍一下Java的语法规则。 Java语言与C/C++语言有着紧密的联系,Java中的许多术语来自于C++,起语法也来自于C++。因此Java的语法和c++的语法计划一模一样。下面简单介绍一下Java的具体语法。
一、Java的词法
1、标识符
标识符是类、变量和方法等的名字,作用是让编译器能够识别它们。在Java语言中,标识符可以包含数字、字母、下划线(_)和美圆符号($),但是不能以数字作为开头。与C/C++语言不同的是,Java语言还可以将一些非拉丁字母包含在标识符中,这是因为Java语言使用的是Unicode字符,所有的十六进制00C0以上的Unicode字符都可以用在标识符中。但是Java语言的关键字是不能用来作为标识符的。
我们在使用标识符的时候应该尽量表达所要表示的类、变量、方法等的含义。另外,标识符中可以使用下划线,我们应该充分利用这一点以提高程序的可读性。
2、关键字
以下是Java的全部关键字:
abstract double int strictfp**
boolean else interface super
break extends long switch
byte final native synchronized
case finally new this
catch float package throw
char for private throws
class goto* protected transient
const* if public try
continue implements return void
default import short volatile
do instanceof static while
* 尚未使用的关键字
** 为Java 2增加的关键字
3、注释
Java有三种形式的注释:
第一种是C语言的传统注释方式,即将“/*”和“*/”之间的文本都视为注释,这种注释可以跨越多行。
第二种是C++风格的注释,即将“//”之后直到行尾的文本都视为注释,这种注释只能包含一行。
第三种是Java新增加的注释方式,即将“/**”和“*/”之间的文本都视为注释,这种注释也可以夸耀多行。注意,这种注释方式生成的注释将作为Javadoc文档保存。
二、操作符
1、算术操作符
操作符 用途 优先级 结合性
++,-- 自动递增,自动递减 2(仅次于括号) 从右到左
+,- 一元加,一元减 2 从右到左
*,/ 乘,除 3 从左到右
% 取余(求模) 3 从左到右
+,- 加,减 4 从左到右
2、布尔运算与关系运算符
操作符 用途 优先级 结合性
>,<,>=,<= 测试相对大小 6 从左到右
== 测试相等性 7 从左到右
!= 测试不等性 7 从左到右
?: 根据第一个操作数返回后两个操作数之一 13 从左到右
! 非 2 从右到左
& 布尔与 8 从左到右
^ 异或 9 从左到右
| 布尔或 10 从左到右
&& 条件与 11 从左到右
|| 条件或 12 从左到右
3、位操作符
操作符 用途 优先级 结合性
~ 非(位求补) 2 从右到左
<<,>> 左移,右移 5 从左到右
>>> 当作无符号右移 5 从左到右
& 位和 8 从左到右
^ 位异或 9 从左到右
| 位或 10 从左到右
4、赋值操作符
操作符 用途 优先级 结合性
= 赋值 14 从右到左
*= 操作同时赋值 14 从右到左
/= 操作同时赋值 14 从右到左
%= 操作同时赋值 14 从右到左
+= 操作同时赋值 14 从右到左
-= 操作同时赋值 14 从右到左
>>= 操作同时赋值 14 从右到左
<<= 操作同时赋值 14 从右到左
>>>= 操作同时赋值 14 从右到左
^= 操作同时赋值 14 从右到左
|= 操作同时赋值 14 从右到左
&= 操作同时赋值 14 从右到左
5、特殊操作符
cast操作符将一种数据类型转换成为另一种数据类型,cast应写成把要校正操作数的类型名放在括号中。
例如: int i; long l; l=7876547; i=(int)l; 如果给高精度的变量赋予一个低精度值,则不需校正。类型校正操作符的优先级为2,结合性为从右到左结合。
将以上讲到的操作符的优先级总结如下:
优先级 运算符 结合顺序
1 []数组运算 .点运算符 ()调用方法 从左到右
2 ! ~ ++ -- +(一元加) -(一元减) ()强制类型转换 new 从右到左
3 * / % 从左到右
4 +(二元加) -(二元减) 从左到右
5 >> << >>> 从左到右
6 < <= > >= instanceof 从左到右
7 == != 从左到右
8 & 从左到右
9 ^ 从左到右
10 | 从左到右
11 && 从左到右
12 || 从左到右
13 ?: 从左到右
14 = += -= *= /= %= &= |= ^= <<= >>= >>>= 从右到左
三、常量
1、整型常量
在Java语言中,整型常量有三种形式,它们分别是:十进制、八进制、十六进制。
需要注意的是十进制数不能以0开头,这是因为八进制的数是以0开头的,而十六进制数以0x或0X开头。
2、浮点型常量
浮点数只能表示十进制数。浮点数有两种表示方法,即标准表示法和科学记数法。浮点数又分为单精度数和双精度数。
3、布尔型常量
布尔型常量有两个值:ture(或TURE)和false(或FALSE)它们分别表示真和假,这两个值用来表示事物的状态,它们必居其一。通过测量布尔值可以判断是否执行某个步骤。
4、字符型常量
字符型常量是一个单一的字符,其形式是由两个单引号引起来的一个字符。但是两个单引号引起来的不能是单引号和反斜杠,即‘’和‘\’是不正确的写法。
大家一定要记住,Java语言中的字符是16位的Unicode字符,这与C/C++等语言是不一样的。
同C/C++语言一样,Java语言也有转意序列。Java中的转意序列的功能见下表:
转义序列 标准形式 功能描述
\ 继续
\n NL 回车换行
\t HT 水平制表符
\b BS 后退一格
\r CR 回车不换行
\f FF 换页
\ 单引号
\\ \ 反斜杠
\" " 双引号
\ddd 0ddd 八进制模式
\xddd 0xddd 十六进制模式
\udddd 0xdddd Unicode双字节字符
字符串常量
字符串常量是由双引号引起来的一系列字符,与C/C++语言中不同的是,Java语言中的字符串不是通过字符数组来实现的,而是通过字符串类(即String类)来实现的。
四、变量和数据类型
在Java中,数据的类型可以分为四种:基本数据类型、数组类型、类和接口类型。任何数据都一定是上述数据类型的一种。
其中基本数据类型可以分为四大类:布尔型、字符型、整数型和浮点型。这些类型的数据与前面介绍的常量的类型基本相同,在此不再多说。下面将整数型和浮点型变量的取值范围列出:
表一、
类型 宽度 取值范围
byte 8位 -256到256
short 16位 -32768到32767
int 32位 -2147483648到2147483647
long 64位 -9223372036854775808到9223372036854775807
表二、
进制 整数 长整数
十进制 最大正整数 2147483647(2的31次方减1) 923372036854775807L(2的63次方减1)
八进制 最大正整数 077777777777(2的31次方减1) 07777777777777777777L(2的63次方减1)
最小负整数 020000000000(-2的31次方) 04000000000000000000L(-2的63次方)
十六进制 最大正整数 0x7fffffff(2的31次方减1) 0x7fffffffffffffffL(2的63次方减1)
最小负整数 0x80000000(-2的31次方) 0x8000000000000000L(-2的63次方)
浮点数能表示的数值从小到大分别是:负无穷大、负有限值、负零、正零、正有限值及正无穷大。其中正零和负零在进行数值比较的时候是相等的,但仍有办法分辨这两个值,例如在进行1.0/0.0的时候会得到正无穷大的结果。其它非零非无穷大的有限值是以s*m*(2^e)来表示的,s和m的取值范围见下表:
表三、
类型 s m e
float +1或-1 小于2的24次方的正整数 149到104的整数
double +1或-1 小于2的53次方的正整数 1045到1000的整数
表四、float 最大值 3640282347e+38f
非零最小值 1.40239846e-45f
double 最大值 1.79769313486231570e+308
非零最小值 4.940656458412465334e-324
另外浮点数还有一些特殊值,见下表:float 最大值 Float.MAX_VALUE
最小值 Float.MIN_VALUE
正无穷大 Float.POSITIVE_INFINITY
负无穷大 Float.NEGATIVE_INFINITY
NaN Float.NaN
double 最大值 Double.MAX_VALUE
最小值 Double.MIN_VALUE
正无穷大 Double.POSITIVE_INFINITY
负无穷大 Double.NEGATIVE_INFINITY
NaN Double.NaN
与C/C++语言中不同的是,在Java语言中,所有的基本数据类型都有预设值,就是说当我们声明一个变量时,即使我们没有对它赋值,它的值也是一定的,而不像在C/C++中那样是不可预测的。具体个类型的预设值见下表:
基本数据类型 预设值
Boolean false
Char \u000
Byte (byte)0
Short (short)0
Int 0
Long 0L
Float 0.0L
Double 0.0d
五、Java与C/C++的比较
由于Java的语法直接来源于C/C++,所以Java的程序控制语句与C/C++一模一样,在此不再多说。以下重点介绍一下Java与C/C++的不同。
指针
大家在使用C语言编程的时候想必都曾经因为指针的复杂计算而烦恼,在C/C++语言编程过程中,指针可能引起许多错误,这些复杂的指针算法所产生的错误常常让人迷惑不解,导致C/C++程序员在此浪费了大量的时间。考虑到这种原因,Java中取消了指针。指针的功能由参考(reference)所取代,这使得Java中对复杂数据结构的实现更加容易,因为用对象和对象数组实现复杂的数据结构更可靠。
函数
在Java中没有C/C++中应用广泛的函数,C/C++中通过函数实现的功能在Java中都是通过类和方法来实现的。
继承
C++支持多重继承,这是一个从多个父类中派生一个类的有效办法,但这种派生很复杂,也很容易产生问题。因此,Java中没有采用多重继承,但Java的Objective C协议接口能完成C++中多重继承的所有功能。
goto语句
大家知道,在使用高级语言编程时过多的使用goto语句会使程序变得十分混乱,因此Java中也没有使用goto语句。但是不可否认,当程序比较容易控制的时候,适当使用goto语句能使程序的运行更快捷,因此Java中使用了多重break和continue语句(允许break和continue语句使用标签)实现C++种goto语句的功能。
联合和结构
在C++中有三种数据结构:联合、结构和类;Java中只有类,它可以实现上述三者的功能。
字符串
在C/C++中,字符串是通过字符数组实现的,但是由于数组的空间不是动态分配的,这容易出现越界错误,例如:常有预先设定的字符数组不能容纳后输入的字符串。在Java中,字符串是一类特定的对象,这使得字符串更具有一致性和可预见性。
Typedef、Define和预处理器
Java中不需要#define语句、预处理器或者typedef,但需要头文件。在Java中一个类的信息必须包含在一个文件中,而C/C++中有关类的信息可能分散在多个文件中。
数据类型的自动强制转换
在Java中强制一种类型的数据元素变成一种不太精确的数据类型需要编程人员采用预测方法。
发表评论
-
基于遗传算法的排课系统
2009-03-15 18:24 5205一、介绍 随着近几年各个高校的合并与扩招,我国的综合性大学和各 ... -
Java虚拟机(JVM)参数配置说明
2009-03-12 16:38 45771. Java VM 运行于linux平台上的JVM会 ... -
垃圾收集器与Java编程
2009-03-12 15:46 967垃圾收集器(Garbage Collector,GC)对Ja ... -
Java 读/写文件文本文件的示例
2008-08-07 19:08 3132Java 读/写文件文本文件的示例 /* * 简单的读/写文本 ... -
利用JAVA技术进行XML编程
2008-08-07 13:14 959在过去几年中,XML 已经成为一种通用的数据格式。这篇经过修订 ... -
java中常用的一些方法
2008-08-07 13:09 1219字符串1、获取字符串的长度 length() 2 、判断字符串 ... -
编写高效的线程安全类
2008-08-06 06:42 890在语言级支持锁定对象和线程间发信使编写线程安全类变得简单。本文 ... -
扫描整个网段的多线程程序
2008-08-06 06:20 1053描500个IP10秒钟左右, 一个IP等待0.3秒说来惭愧, ... -
创建Java中的线程池
2008-08-06 06:16 1093线程是Java的一大特性, ... -
对Swing线程的再思索
2008-08-05 23:59 779不正确的Swing线程是运 ... -
从网页源文件中得到链接
2008-08-05 23:51 914import java.net.*;import java.i ... -
Java核心部分的总结
2008-08-05 23:47 892第一课 1. 有关Apple ... -
Java学习过程中应该理解的一些重点内容
2008-08-05 23:45 940本文介绍Java学习过程中 ... -
课堂笔记学习java
2008-08-05 23:43 936第一节课: 1. java 语言的诞生和特点(一般的教材都 ... -
JDBC基础教程之语句
2008-08-05 23:40 876概述 Statement 对象 ... -
JDBC基础教程之驱动设置
2008-08-05 23:39 9471、概述 DriverManag ... -
搭建Java桌面应用程序原型(一)
2008-08-05 23:32 1579在这篇文章里,我将描述一个Java桌面应用的原型,我把它叫做J ... -
解析Java中的多线程机制
2008-08-05 23:16 1256一、进程与应用 ... -
Java多线程技术中所有方法的详细解析
2008-08-05 23:15 956一、run()和start() 这 ... -
JAVA教程-Java语言基础知识
2008-08-05 23:04 15922.1简单数据类型 2.1 ...
相关推荐
JavaCV还支持深度学习框架,如TensorFlow、Caffe和OpenCV的DNN模块,使得在Java环境中进行图像识别和物体检测成为可能。 在开发过程中,你需要注意的是,由于JavaCV依赖于原生库,所以在不同的操作系统和硬件架构上...
接着,书中深入探讨了Java的基础语法,这是学习任何编程语言的起点。这部分涵盖了变量、数据类型、运算符、流程控制语句(如if-else,for,while,switch-case)、函数和类等核心概念。同时,书中会讲解如何编写注释...
京动力节点-Java编程零基础教程-001-编程基础-基本概念-语言、程序、编程.mp4 北京动力节点-Java编程零基础教程-002-编程基础-基本概念-编译.mp4 北京动力节点-Java编程零基础教程-003-编程基础-基本DOS操作.mp4 ...
想学java,新手学java,怎样才能学好java,java视频教程,零基础学习java--java学习指导文档
《基于Java的109号Java学习平台-LW源码解析》 在计算机科学领域,尤其是软件开发中,源码是程序设计的基础,它揭示了软件的内部运作机制。本资料包“基于java的-109-java学习平台--LW-源码.zip”提供了一个完整的...
【JAVA基础-初识JAVA】 ...总之,"JAVA基础-初识JAVA"这个主题涵盖了Java语言的核心概念,对于新手来说,通过学习这些基础知识,可以逐步掌握编程思维,为后续深入学习Java和开发实际项目奠定坚实的基础。
【Java编程基础知识】 ...以上是Java编程的一些基础知识点,通过学习和实践,初学者可以逐步建立起坚实的Java编程基础。在学习过程中,不断练习编写代码、阅读他人代码、分析问题并解决,是提升编程能力的关键。
这份"java基础---PPT讲稿.zip"压缩包包含了对Java基础知识的深入讲解,旨在帮助学习者掌握Java的核心概念,为更高级的学习阶段打下坚实的基础。 在PPT中,我们可能会涵盖以下几个关键知识点: 1. **Java简介**:...
该资源主要是corejava中一些重要的知识点,都是java的基础,把java学好,这些知识的必须得熟练掌握的,是学习后面相关java开发技术的垫脚石,这些学好了后面的就容易了。希望这写东西能帮助到你!
基础能力强的可以在此基础上修改调整,以实现不同的功能。 欢迎下载交流,互相学习,共同进步! Java课设-基于JavaWeb的合同管理系统源码.zipJava课设-基于JavaWeb的合同管理系统源码.zipJava课设-基于JavaWeb的...
2. **Java环境设置**:学习Java的第一步通常是安装JDK(Java Development Kit),配置好环境变量,包括JAVA_HOME、PATH和CLASSPATH,以便于编译和运行Java程序。 3. **基本语法**:Java程序始于`public class`...
【Java基础-尚硅谷课件资料】是一套全面讲解Java编程语言的学习资源,适用于初学者和进阶者。课程内容涵盖了从Java语言的基础概念到高级特性的深入理解,旨在帮助学习者掌握Java开发的核心技能。 在Java编程语言的...
虽然这个版本可能相对较旧,但对于学习基础概念和实践经验来说仍然非常有用。随着技术的发展,更新的版本(如JavaCV 1.x和OpenCV 4.x)提供了更多的功能和性能优化,但理解这个基础版本可以帮助开发者更好地理解...
这份“java--基础程序知识.rar”压缩包显然包含了关于Java基础知识的学习资料,旨在帮助初学者或有经验的开发者巩固和深化Java编程技能。下面将详细讨论Java的基础知识,包括其语法、核心概念以及常见应用。 1. **...
Java是一种广泛使用的面向对象的编程语言,以其平台独立性、安全性、健壮...这份"java基础教程----精华版"应该涵盖了这些主题,并且可能还有更多的实践指导和示例代码,对于学习和巩固Java编程基础是非常有价值的资源。
2. **第二章:Java基础语法【上】** - 基本数据类型:整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。 - 变量声明与初始化:变量的定义、赋值和作用域。 - ...
除了理论知识外,实战项目也是Java学习的重要组成部分。通过实践项目,可以更好地理解和运用所学知识,提高解决实际问题的能力。尚硅谷提供的全套Java基础学习视频中,很可能会包含一些实际案例分析,如简单的Web...
总的来说,这一单元的教学旨在让学生掌握Java语言的基础,能够独立编写简单的Java程序,为后续的Java编程学习打下坚实基础。通过实际操作和反复练习,学生不仅可以理解理论知识,还能具备实际编程能力,为未来解决...
这份"学习java基础-好用的PPT"是为初学者准备的一份详尽的学习资料,涵盖了Java语言的核心概念和关键特性。 1. **Java简介**:Java是由Sun Microsystems公司(现已被Oracle收购)于1995年推出的,它的设计目标是...
适用于零基础Java学习