码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础语法(一)---关键字、常量、变量、运算符

时间:2015-08-08 14:58:42      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

  

Java基础语法(一)---关键字、常量、变量、运算符
一、
关键字

定义:被Java赋予了特殊含义的单词。

特点:体现上都是英文小写。

1、 用于定义数据类型的关键字

基本数据类型:

整数类型: byte(1字节,最大值127) short(2字节,最大值为2^15-1)

int(4字节,最大值为2^31-1) long(8字节,最大值为2^63-1)

浮点类型: float (单精度实数在内存中占32bit 有效数字为6~7位)

double(双精度实数占内存单元为64bit 有效数字为15~16位)

字符类型:char 如’a’,’1’等

布尔型:boolean (flas true)

引用数据类型:

class(类) interface(接口)

void用于函数上表示无返回值类型

2、用于定义数据类型值的关键字

true(真) false(假) null(空)

3、 用于定义流程控制的关键字

判断:

  if else

   技术分享

  switch case default

    技术分享

 

循环:

  for

     技术分享

 

  while

    技术分享

 

继续循环:continue 结束循环或选择结构:break返回:return

    技术分享

 

4、 用于定义访问权限修饰符的关键字

private(私有的) : 类中使用定义在方法或者变量上,外部类无法访问

protected(受保护的):当父类中的某些属性只想子类继承时,可用

public(公有的): 权限为最高,可以用于修饰类、方法等。

5、 用于定义类、函数,变量修饰符的关键字

abstract(抽象的) ;final(最终的):static(静态的):

synchronized(同步的) :判断锁的存在

enum(枚举):在Vector容器中使用

6、用于定义类与类之间关系的关键字

extends(继承):用于子类继承父类时使用

implements(实现):用于实现接口时使用

 

7、 用于定义建立实例及引用实例,判断实例的关键字

new(建立实例) this(当前引用) super(父类引用)

instanceof(判断对象类型) : if(obj instanceof Student) 判断obj是否是学生类型

8、 用于异常处理的关键字

try{需要被检测的代码;}

catch (){处理异常的代码; }

finally{一定会执行的代码;}

throw throw 定义在函数内,用于抛出异常对象

throws:定义在函数上,用于抛出异常类,可以抛出多个用逗号隔开

9、 用于包的关键字

package(创建包)

import(导入包) 例如: import java.util.*; (*代表所有)

10、其他修饰关键字

native(本地)

strictfp(strict float point,精确浮点)

transient(变量修饰符,用它声明一个实例变量,在对象序列化时不会被序列化)

volatile(类型修饰符,用来修饰被不同线程访问和修改的变量)

assert(断言,可以看作是异常处理的一种高级形式,用于捕捉我们在代码中做出的假设)

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

二、标识符

在程序中自定义的一些名称。由25个英文字母大小写,数字0-9,符合 _ $组成。

定义合法标识符的规则:

1、 数字不可以开头。

2、 不可以使用关键字。

注:Java中严格区分标识符的大小写。在起名字的时候,为了提高阅读性,要尽量有意义。

Java中的名称规范:

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

xxxyyyzzz 例如 mypackage

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

XxxYyyZzz 例如 MyComparaTo

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

xxxYyyZzz toString

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

XXX_YYY_ZZZ 例如 MAX_PRIORITY 最高优先级

三、常量

定义:Java中固定不变的、表示不能改变的数值。

Java中常量的分类:

1,整数常量。所有整数。

2,小数常量。所有小数。

3,布尔型常量。较为特有,只有两个数值。true false。

4,字符常量。将一个数字字母或者符号用单引号( ‘ ‘ )标识。

5,字符串常量。将一个或者多个字符用双引号(“”)标识。

6,null常量。只有一个数值就是:null。

对于整数,Java有三种表现形式:

十进制:0-9,满10进1。

八进制:0-7,满8进1,用0开头表示。

十六进制:0-9,A-F,满16进1,用0x开头表示。

进制的基本转换:

其他进制转十进制

Integer.valueOf("y",x) :x为多少进制,y为你想转的值

十进制转二进制: toBinaryString(x)

十进制转换成十六进制:toHexString(x)

十进制转换成八进制:toOctalString(x)

四、变量

概念:内存中的一个存储空间。有自己的名称(变量名)和类型(数据类型)。

作用:用来不断的存放同一类型的数据,并可以重复使用。

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

数据类型:

Java中有两种数据类型:1、基本数据类型;2、引用数据类型。这里主要讲解基本数据类型。

    技术分享

 

说明:Java程序中,整数默认:int 小数默认:double

类型的自动提升:

在运算中,当低类型数据与高类型数据进行计算时,系统会自动将表达式中的低类型数据提升到高类型。如:

byte b = 3 ; int c;

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

强制类型转换:

当程序中,数据类型需要变换时,可以进行强制转换。如:

byte b = 3;

b = b + 4;//报错

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

五、运算符

1、算术运算符

    技术分享

 

注:进行取模运算时,如果有负数,运算结果取决于运算左边有没有负数。

字符串数据和任何数据使用 +都是相连接,最终都会变成字符串。

2、赋值运算符

符号:= += -= *= /= %=

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

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

3、比较运算符

    技术分享

 

注:1、比较运算符的结果都是boolean型,也就是要么是true,要么是false。2、比较运算符“==”不能误写成“=”。

4、逻辑运算符

    技术分享

逻辑运算符用于连接boolean类型的表达式。

 

&:只要两边的boolean表达式结果,有一个为false,那么结果就是false。只有两边都为true,结果为true。

|:两边只要有一个为true,结果为true;只有两边都为false,结果为false。

^:两边相同结果是false,两边不同结果是true。

&和&&的区别:

单&时,左边无论真假,右边都进行运算;

双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。

5、位运算符 (大头到小头 为 什么移)

左移:<<;空位补0,被移除的高位丢弃,空缺位补0。

右移:>>;被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1。

无符号右移:>>>;被移位二进制最高位无论是0或者是1,空缺位都用0补。

与: &;二进制位进行&运算,只有1&1时结果是1,否则是0。

或:|;二进制位进行 |运算,只有0 | 0时结果是0,否则是1。

异或: ^;任何相同二进制位进行 ^运算,结果是0;1^1=0 , 0^0=0。

不相同二进制位 ^运算结果是1。1^0=1 , 0^1=1。

反码:~;对二进制进行取反。

6、 三元运算符

D=A?B:C;即A为真时,D=B,A为假时,B=D。

获取两个数中大数。

int x=3,y=4,z;

z = (x>y)?x:y;//z变量存储的就是两个数的大数。

运算符的优先级:

       技术分享

六、转义字符

概念:通过 \ 来转变后面字母或符号的含义。

常用转义字符:

\b:退格

\n:换行

\t:制表符,相当于tab键

\r:回车

\\:表示反斜杠

\‘:表示单引号

\":表示双引号

七、实战演练

 1 class OperateDemo 
 2 {
 3     public static void main(String[] args) 
 4     {
 5         int x = 4270;
 6 
 7         x = x /1000 * 1000;//结果:  x=4000;
 8         System.out.println(-1%5);//结果 -1
 9 
10         int a = 3,b;
11         
12         //a++; //--> a = a+ 1;
13         
14 
15         b = ++a;//结果b=4;
16         
17         System.out.println("a="+a);
18         //字符串数据和任何数据使用+都是相连接,最终都会变成字符串。
19         //System.out.println("5+5"+(5+5));//"5+5=55"
20     
21 
22         /*
23         转义字符:通过\ 来转变后面字母或者符号的含义。
24         \n:换行。
25         \b:退格。相当于backspace。
26         \r:按下回车键。window系统,回车符是由两个字符来表示\r\n.
27         \t:制表符。相当于tab键。
28         */
29         System.out.println("hello \t world");
30         //System.out.println("hello java");
31 
32         System.out.println("\\hello\\");
33         
34         char ch = ‘\‘‘;
35 
36         char c = ‘a‘;
37 
38 
39     }
40 }

 

 1 class  LuckNumber
 2 { /*有n个小朋友手拉手围成圈,编号为1~n,小朋友轮流从1开始报数报到m,
 3    报到m的自动退出该圈,游戏到最后剩下的是几号小朋友?
 4    分析:将小朋友的个数存到数组中,
 5          当报到m时,将该数组元素变成0;
 6          当碰到0时,指针自动读取下一个元素,
 7          当报到最后一个时,指针跳到0角标,从新开始
 8 */
 9     public static void sop(Object obj)//打印任何对象
10     {
11         System.out.print(obj);
12     }
13     public static int getLuck(int arr[],int m)
14     {   int pos=-1,num=0;
15         for(int x=0;x<arr.length-1;x++) //取出元素个数-1的个数,目的取出唯一剩到最后的元素
16         {
17             for(int y=0;y<m;y++)//每次数过m个非零的元素时,使该元素变为零
18             { pos++;
19                 if (pos==arr.length)
20                     pos=0;
21                 while(arr[pos]==0)
22                 {pos++;
23                     if (pos==arr.length)
24                     { pos=0;
25                     }
26                 }
27                 
28             }
29             arr[pos]=0;
30         }
31         for(int t=0;t<arr.length;t++)//寻找
32         {
33             if (arr[t]!=0)
34             { 
35                 num=arr[t];
36             }
37         }
38         return num;
39     }
40     public static void main(String[] args) 
41     {
42         int n=3,arr[]=new int[n];//建立数组,通过for循环将1~12传入数组
43         for(int i=1;i<=arr.length;i++)
44         {
45             arr[i-1]=i;
46         }
47         sop(getLuck(arr,2));//将数组和被淘汰的号码传入
48     }
49 }

 

 文章的主题概括来自下面一个网络链接,因为自己概括总结的框架不够具体,于是在网络上查找到了这篇博客,并且认为此篇博客很好,于是在其基础上,添加了一些自己的总结,并且删除了部分。(并无商业目的,只为自己能够总结,梳理)

http://blog.csdn.net/kangmiao89757/article/details/10615069

Java基础语法(一)---关键字、常量、变量、运算符

标签:

原文地址:http://www.cnblogs.com/ktlshy/p/4713019.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!