今天是xiaoxiaocoder第一篇技术复习博客..标题我根据自己写一年多代码总结分的的,我想通过这种标题来表达每篇文章的主题,这样不管是对自己的总结还是对新开发朋友的学习都很有帮助.
一、开发环境搭建
学习java首先是环境搭建,java开发的首先任务就是环境变量的配置和环境的搭建,虽然现在jdk1.6以后已经不需要开发人员配置系统变了了,但是有很多别的工具用到jdk的时候还是需要手动配置.所以还是熟悉一下吧.其实没有几个,就三个,在“我的电脑”上点右键->“属性”->“高级”-> “环境变量(N)”
1.新建系统变量JAVA_HOME:jdk的根目录
2.新建系统变量CLASSPATH:.;%JAVA_HOME%\lib;(注意:点号表示当前目录,不能省略)
3.在系统变量Path的值的前面加入以下内容:%JAVA_HOME%\bin;(注意:这里的分号不能省略)
配置完成之后在运行中输入cmd 回车 java -version 配置正确则输出当前jdk的版本
Java的命名习惯
1、包名中的字母一律小写。如:xxxyyyzzz。
2、类名、接口名应使用名词,每个单词的首字母大写。如:XxxYyyZzz。
3、方法名,第一个单词小写,后面每个单词的首字母大写。如:xxxYyyZzz。
4、变量名,第一个单词小写,后面每个单词的首字母大写。
5、常量名中的每个字母一律大写。如:XXXYYYZZZ。
二、基础语法
java基本语法(一)——数据类型
Java语言是一种严格的“类型化”语言。这意味着每个变量都必须有一个声明好的类型。Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。Java另外还提供大数字对象,但它不是Java的数据类型。
1、整数:
定义:没有小数部分的数字,负数是允许的。
种类:Java提供四种整数类型:
int 4个字节 -2,147,483,648到2,147,483,647
short 2个字节 -32,768到32,767
long 8个字节 -9,223,372,036,854,775,808L到9,223,372,036,854,775,807L
byte 2个字节 -128到127
2、浮点数:
定义:含有小数部分的数字。
分类:Java提供两种浮点数:
float 4个字节 约+—3.40282347E+38F(6~7个有效的十进制数位)
double 8个字节 约+-1.79769313486231570E+308(15个有效数位)
说明:
1)float类型的数值有个后缀:F,如果没有后缀F,那么默认为double。double类型的数值也可以使用后缀D。
2)当这些数字遇到取值范围错误时,会发生(上溢Overflow);而在遇到象被零除时,会发生下溢(Underflow)。
3、字符类型:
定义:单引号用来表示char常量。
说明:
1)双引号则表示一个字串,他是Java的一个对象,并不是数据类型。
2)char类型表示Unicode编码方案中的字符。
Unicode可同时包含65536个字符,ASCII/ANSI只包含255个字符,实际上是Unicode的一个子集。Unicode字符通常用十六进制编码方案表示,范围在'\u0000'到'\uFFFF'之间。\u0000到\u00FF表示ASCII/ANSI字符。\u表示这是一个Unicode值。
3)在Java中除了用这个\u的形式来表示字符外,还可以使用换码序列来表示特殊字符。
\b 退格 \u0008
\t Tab制表 \u0009
\n 换行 \u000a
\r 硬回车 \u000d
\" 双引号 \u0022
\' 单引号 \u0027
\ 反斜杠 \u005c
4)理论上在Java的应用程序和小应用程序中使用Unicode字符,但至于他们是否能真正显示出来,却要取决于使用的浏览器和操作系统,其中操作系统是最根本的。
4、布尔类型:
boolean类型只有两个值:false和true,用过其他编程语言的朋友肯定对它们并不陌生
java基本语法(二)——变量和常量
1、变量:
定义:相信对于它的定义应该不用在说了:)大家应该已经熟悉又熟悉了。
例如:a,a1,name等都是合法的变量。
说明:
1)Java要求在使用一个变量之前要对变量的类型加以声明。
2)Java中一个变量的声明就是一条完整的Java语句,所以应该在结尾使用分号。
3)变量的命名规则:
变量必须以一个字母开头。
变量名是由一系列字母或数位的任意组合。
在Java中字母表示Unicode中相当于一个字母的任何字符。
数位也包含0-9以外的其他地位与一个数位相当的任何Unicode字符。
+、版权信息符号圈C和空格不能在变量名中使用。
变量名区分大小写。
变量名的长度基本上没有限制。
如想知道Java到目前位置认为哪些Unicode字符是字母的话,可以使用Character类中的isJavaIdentifierStart以及isJavaIdentifierPart方法进行检查。
变量名中不能使用Java的保留字。
4)可在一条语句中进行多个变量的声明,不同变量之间用逗号分隔。
2、变量的赋值和初始化:
变量的值可以通过两种方法获得,一种是赋值,给一个变量赋值需要使用赋值语句。另外一种方法就是初始化,说是初始化,其实还是一个赋值语句,只不过这个赋值语句是在声明变量的时候就一起完成的。
例如:
int a =10; //这就是一个变量初始化的过程
下面两条语句的功能和上面一条的功能相同,只是这里将变量的声明和赋值分开来进行的。
int a;
a =10; //在赋值语句的结尾应该是用分号来结束。
说明:
1)在Java中绝对不能出现未初始化的变量,在使用一个变量前必须给变量赋值。
2)声明可以在代码内的任何一个位置出现,但在方法的任何代码块内只可对一个变量声明一次。
3、常量:
定义:值不变的量称为常量。
例如:
1,“hello”
说明:
1)在Java中使用final关键字来定义一个常数。
int final a=10; //声明了一个整型常量a,它的值是10。
2)习惯上将常量的名字统统大写。
java基本语法(三)——运算符和类型转换
1、运算符:
1)Java语言中,常用的运算符包括:+,-,*,/,这些就不用说了,大家肯定很熟悉了。
2)幂:Java没有乘幂运算符,必须使用Math.pow(x,a)方法,表示x的a次幂。pow方法的两个参数都属于double类型,返回的值也是double类型。
例如:
double a = Math.pow(10,3); //定义了一个变量a,它的值是10的3次幂。
3)递增、递减运算符:
a++,a-- 先使用变量的值,然后再递增或递减。
++a,--a 先递增或递减然后再使用变量的值。
4)关系和布尔运算符:
关系运算符:==,!=,<,>,<=,>=
布尔运算符:&&(与), ||(或), !(否)
5)按位运算符:
&(加),|(或),^(异或),~(否),>>向右移位,<<(向左移位),> >>(用零来填充位于顶部的位)
注意Java没有<<<运算符。
6)括号和运算符分级:
在Java中各种运算符默认的计算顺序是:
[],()(方法调用) 从左到右
! ~ ++ -- +(一元) -(一元) () (造型) new 从右到左
+ / % 从左到右
+ - 从左到右
<< >> > >> 从左到右
< <= >= > instanceof 从左到右
== != 从左到右
& 从左到右
^ 从左到右
| 从左到右
&& 从左到右
|| 从左到右
?: 从左到右
= += -= *= /= &= |= ^= <<= >>= . >>= 从右到左
在Java中可以使用括号来指定自己希望的计算顺序,从而改变运算符默认的运算顺序。
2、数值类型的互相转换:
当不同数据类型的数据参加运算的时候,会涉及到不同的数据类型的转换问题:
Java语言数据类型的转换基本上按照下面的规则进行:
如果其中一个运算对象是double类型的,另一个也会被转换成double类型。
否则,如果其中一个运算对象是float类型的,另一个也会被转换成float类型的。
否则,如果其中一个运算对象是long类型的,另一个也会被转换成long类型的。
否则,如果其中一个运算对象是int类型的,另一个也会被转换成int类型的。
否则,如果其中一个运算对象是short类型的,另一个也会被转换成short类型的。
类型转换还可以通过“造型”来实现,语法很简单,将目标类型放在括号里,然后在后面跟上一个变量名就可以了。
例如:
double x = 9.99;
int nx=(int)x; //这时nx就是一个int类型的数据了,并且它的值是9,后面的部分在造型过程中被丢掉了。如果想把一个浮点数舌入成“最接近”的整数,可以使用Math.round方法。在使用Math.round方法舌入后,可能还要使用造型来进行类型转换。
Java还允许将一种类型的变量值赋给另一个变量,同时不进行显示造型,同样可以进行某些特定的赋值转换,允许的转换包括:
buty->short->int_>long->float->double char->int
当进行赋值的时候,会按照上面的顺序从左向右转换。
java基本语法(四)——字符串和数组
1、字符串:
Java没有提供内建的字符串类型,但标准Java库中包含了一个预定义类,很自然地称作“String”,每个用双引号封闭的字符串都是String的一个实例。
例如:“abc","hello"
Java允许使用 "+" 号把两个字符串连接起来。连接一个字符串和一个非字符串值时,后者被转换成字符串。这个特性常用于输出语句中。
子串:使用String类提供的substring方法,可从一个较大的字串中提取出一个子串。
Java中字串中头一个字符的位置是0,
可以使用length方法得到字符串的长度。
可以使用charAt(n)来提取位置n处的字符。
可以使用equals方法来判断两个字串是否相等。如想检测两个字串是否相等,同时忽略大小写字母的区别可以使用equalsIgnoreCase方法。
注意:不能使用==来判断两个字符串变量是否相等。
2、数组: Java语言中,数组是第一类对象。当建立一个数组后,就不能轻易地改变它的大小。当你试图对数组声明边界外的任何一个元素进行访问时,程序运行就会中止,但编译的时候可以通过。
Java有一个建立一个数组对象并同时提供初始化值的简写形式:
int[] smallPrimes ={2,3,4,5,6};
另外可以初始化一个“匿名数组”:
new int[] {2,3,4,5,6};
当将一个数组作为方法的参数时,又不想建立一个本地数组变量来保存数组,就可以使用匿名数组的方法。
如果想知道一个数组包含的元素数量,可以使用arrayName.length方法。
数组的复制:可以把一个数组变量复制给另一个,但两个变量引用的都会是相同的数组,可以使用
System.arraycopy(from,fromIndex,to,toIndex,count);方法。
数组作为参数使用:Java中数组作为参数,使用的是引用的方式,即传递的数组的地址,在方法中改变数组元素的值可以改变源数组元素的值。
数组作为返回值使用:一个方法可以返回一个数组。
多维数组:
Java语言中可以定义一个二维数组,但没有多维数组。多维数组实际上是通过数组的数组来实现的。
一个数组的示例用法:
int[] a;
a=new int[10];
for(short i=1;i<=10;i++)
{
System.out.println(a[i-1]+" 的平方是 :"+a[i-1]*a[i-1]);
}
java基本语法(五)——控制流程
1、控制流程:
控制流程是任何一种程序语言都要提供的,Java提供的控制流程和许多其他的程序语言基本上是相同的。
1)条件语句:
if (条件) 语句;
if (条件) { 代码块 }
if (条件) 语句; else 语句;
if (条件) { 代码块 } else { 代码块 }
2)不确定循环:
while (条件) { 代码块 }
do { 代码块 } while (条件);
3)确定循环:
for(int i=1; i <= 10; i++) { 代码块 }
在for语句的第一个位置声明了一个变量后,这个变量的作用域会扩展到for循环主体结束。但循环之外是不能使用这个变量的。
4)多重循环:
switch(choice)
{
case 1:
comment 1;
break;
case 2:
comment 2;
break;
default:
comment 3;
break;
}
default从句是可选的。switch语句只能对char类型或除了long之外的其他整数类型进行测试。
5)标签中断:
在一个循环之前使用标签中断并在标签后面使用一个冒号,然后在循环体中如果想退出循环可以使用“break 标签;”的方法来退出循环并开始执行循环体后面的语句。