您的位置:首页 > 职场人生

黑马程序员——Java基础---Java语言基础(一)

2014-11-19 21:15 232 查看
------- android培训java培训、java学习型技术博客、期待与您交流!
----------

概述

    Java语言是一门高深的学问,要想掌握高深的技术,必须对Java语言的基础进行掌握。就如同想成为篮球明星,必须掌握最基本的控球技术一样。我们一起来了解一下Java语言的基础组成部分,为以后的Java之路做良好的铺垫。Java语言的基础组成包括:关键字、标示符、注释、常量和变量、运算符、语句、函数、数组等。

一、关键字

关键字
定义:被Java语言赋予了特殊含义的单词。
特点:关键字中所有字母都为小写。

保留字
其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。

用于定义数据类型的关键字
基本数据类型
整数类型:byte  short  int  long  
浮点类型:float  double
字符类型:char 
布尔型:boolean

引用数据类型:
class(类) 
 interface(接口)
void  用于函数上表示无返回值类型
用于定义数据类型值的关键字
 true(真)
 false(假) 
 null(空)
用于定义流程控制的关键字
判断:if  else  switch case  default
循环:for  while  do 
继续循环:continue 
结束循环或选择结构:break
返回:return
用于定义访问权限修饰符的关键字
private(私有的)
protected(受保护的) 
public(公有的)
用于定义类,函数,变量修饰符的关键字
abstract(抽象的) 
final(最终的) 
static(静态的) 
synchronized(同步的)
enum(枚举)
用于定义类与类之间关系的关键字
extends(继承) implements(实现)
用于定义建立实例及引用实例,判断实例的关键字
new(建立实例)
this(当前引用)  
super(父类引用)  
instanceof(判断对象类型)
用于异常处理的关键字
 try(检查异常)  catch(捕获异常) 
finally(最终执行) 
 throw(抛出异常对象), 用在函数内;throws(抛出异常类),用在函数上
用于包的关键字
package(创建包)
import(导入包)
其他修饰符关键字
native(本地)  
strictfp(strict float point,精确浮点)
 
transient(变量修饰符,用它声明一个实例变量,在对象序列化时不会被序列化)
volatile(类型修饰符,用来修饰被不同线程访问和修改的变量) 
assert(断言,可以看作是异常处理的一种高级形式,用于捕捉我们在代码中做出的假设)

注:main不是关键字,是被虚拟机所识别的一个名称。



二、标识符

1.标识符定义及规则

在程序中自定义的一些名称。可以理解为为在Java中增加阅读性的自定义名称
定义合法标识符规则:
由26个英文字母大小写,数字:0-9 符号:_ $ 组成。数字不可以开头。
不可以使用Java中关键字和保留字。
Java中严格区分大小写。
别用Java API中的类名作为自己的类名。

注意:在起名字的时,为了提高阅读性,要尽量有意义。

2.Java中的名称规范:

包名:多单词组成时所有字母都小写。 
xxxyyyzzz

类名接口名:多单词组成时,所有单词的首字母大写。 
XxxYyyZzz

变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。  
xxxYyyZzz

常量名:所有字母都大写。多单词时每个单词用下划线连接。
XXX_YYY_ZZZ 

三、注释

用于注解说明解释程序的文字就是注释。
提高了代码的阅读性。
Java中的注释格式: 
单行注释
格式: //注释文字

多行注释
格式: /*  注释文字  */   
注意:多行注释内不要加多行注释

文档注释
格式:/** 注释文字 */

对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。
对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档
      注释是一个程序员必须要具有的良好编程习惯。初学者编写程序可以养成习惯:先写注释再写代码。将自己的思想通过注释先整理出来,在用代码去体现。因为代码仅仅是思想的一种体现形式而已。

实例:

/**
这是我的Hello World程序。
@author 中仔
*/
class Demo
{
/*
这是主函数,是程序的入口
它的出现可以保证程序的独立运行,
*/
public static void main(String[] args)
{
//这是输出语句用于将括号内的数据打印到控制台。
System.out.println("Hello World");
}
}



四、常量和变量

1.常量

常量表示不能改变的数值。
Java中常量的分类:
整数常量。所有整数
小数常量。所有小数
布尔(boolean)型常量。较为特有,只有两个数值。true false。
字符常量。将一个数字字母或者符号用单引号( ' ' )标识。
字符串常量。将一个或者多个字符用双引号(“ ”)标识。
null常量。只有一个数值就是:null.

对于整数:有四种表现形式。
二进制:0,1 ,满2进1.
八进制:0-7 ,满8进1. 用0开头表示。
十进制:0-9 ,满10进1.
十六进制:0-9,A-F,满16进1. 用0x开头表示。

进制的基本转换
十进制  二进制 互转
十进制转成二进制  除以2取余数
二进制转成十进制  乘以2的幂数 
图解如下:



十进制 八进制 互转,十进制 十六进制互转 
跟转换二进制的方法一样。简单的算法:可以先将十进制转换为二进制,再转换为八进制和十六进制。这就利用了一个八进制位相当于三个二进制位,而一个十六进制位相当于四个二进制位。



负数的二进制表现形式
对应的正数二进制取反加1。
注:负数的最高位为-1。





2.变量

变量的概念:
内存中的一个存储区域
该区域有自己的名称(变量名)和类型(数据类型)
该区域的数据可以在同一类型范围内不断变化

变量作用:
用来不断的存放同一类型的常量,并可以重复使用

使用变量注意:
变量的作用范围(一对{}之间有效)
初始化值

变量的生存中期:
变量从定义的位置开始就在内存中活了,  变量到达它所在的作用域的时候就在内存中消失了;

定义变量的格式:
数据类型    变量名  =  初始化值;

注:格式是固定的,记住格式,以不变应万变。
理解:变量就如同数学中的未知数。

3.数据类型 

数据类型图:



Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间。
整数默认:int    小数默认:double
基本数据类型:级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double
自动类型转换(也叫隐式类型转换):从低级别到高级别,系统自动转的;

例如:

byte b = 3;

int x = 4;

x = x + b;//b会自动提升为int类型进行运算。

强制类型转换(也叫显式类型转换):把一个高级别的数赋给一个别该数的级别低的变量;

例如:

byte b = 3;

b = b + 4;//报错

b = (byte)b+4;//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b。

注意:

byte b1=3,b2=4,b;

b=b1+b2;*失败

b=3+4;

哪句是编译失败的呢?为什么呢?

b1b2是变量不是具体数值,3和4是具体数值

五、运算符

1.算数运算符






算术运算符的注意问题
如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。但被模数是负数就另当别论。

对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 

例如:int x=3510;x=x/1000*1000;  x的结果是:3000

“+”除字符串相加功能外,还能把非字符串转换成字符串 ,

例如:System.out.println("5+5="+5+5);//打印结果是:5+5=55:

2.赋值运算符

符号:= , +=, -=, *=, /=, %=
示例:

int a,b,c;  a=b=c =3;

int a = 3;   a+=5;等同运算a=a+5;

思考:short s = 3; s=s+2与s+=2;有什么区别? 

隐式类型转换可以从小到大自动转,即byte->short->int->long如果反过来会丢失精度,所以

s=s+1; 自然是编译不通过的,提示损失精度必须进行显示类型转换 而s+=2的意思与s = s+2不同,

s=s+2这句先执行s+2然后把结果赋给s,由于1为int类型,所以s+2的返回值是int,编译器自动进

行了隐式类型转换 ,所以将一个int类型赋给short就会出错,而s+=2不同由于是+=操作符,在解

析时候s+=1就等价于s = (short)(s+2),翻番来讲就是  s+=2 <=> s = (s的类型)(s+1)

3.比较运算符






注:比较运算符的结果都是boolean型,也就是要么是true,要么是false。

4.逻辑运算符






逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。
“&”和“&&”的区别:
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。

异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。

5.位运算符






位运算是直接对二进制进行运算。






6.三元运算符

格式: (条件表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;

如果条件为false,运算后的结果是表达式2;

示例:

 获取两个数中较小的数。

            int x=5,y=4,z;

            z = (x<y)?x:y;//z变量存储的就是两个数中较小的数

7.运算符优先级






六、转义字符

概念:通过 \ 来转变后面字母或符号的含义。
 常用转义字符:
 \b:退格  
 \n:换行
 \t:制表符,相当于tab键
 \r:回车
 \\:表示反斜杠
 \':表示单引号
 \":表示双引号

------- android培训java培训、java学习型技术博客、期待与您交流!
----------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: