第2讲 JAVA语言基础

  • 格式:doc
  • 大小:76.00 KB
  • 文档页数:6

第2讲JA V A语言基础2.1 数据类型、常量和变量2.1.1标识符(1)组成:字母,数字,下划线,美元符($)(2)不能以数字开头;(3)不能与关键字冲突;(4)区分大小写.标识符使用Unicode字符集合法标识符userName User_Name_sys_value $change 中国(不提倡)非法标识符2mail room# class2.1.2数据类型基本数据类型所占位数数的范围boolean 8 true,falsebyte 8 -27~27-1short 16 -215~215-1int 32 -231~231-1long 64 -263~263-1char 16 0 ~65535f loat 32 +-3.4e+038 ~+-1.4e-045double 64 +-1.7e+308 ~+-4.9e-324 JA V A中基本数据类型的内存长度是固定的。

2.1.3 常量整型常量:123,077,0xff实型常量1.23f,1.23d,1.23,1.23e+6字符常量… a‟, 可以是Unicode字符集中的任意字符 布尔常量true、false字符串常量(String): “This is a constant string.”用关键字final来定义:●定义格式:final 数据类型名字=初始值;●例: final int NUM= 100, R= 5;●常量值不变,常量名常大写。

2.1.4变量●所有的变量都是先声明后使用●布尔型变量不对应任何整数值●例子:int n = 3, n1 = 4;boolean b=true;byte bt=123;String s1=“你好!”,s2; //字符串类型的变量s2=s1 + “ 中国”;注意:基本类型的变量有默认初值,只有当变量作为类的成员时,java才给定其默认值。

⏹布尔变量:false⏹整数变量:0⏹浮点型变量:0.0⏹字符变量:02.1.5数据类型转换1、自动类型转换不同类型数据先转化为同一类型,转换规则是:从低级向高级转换:低----------------------------------------------------->高byte->short,char—> int —> long—> float —> double2、强制类型转换容量大的类型转换为容量小的类型:必须使用强制类型转换。

(1)可能导致溢出或损失精度⏹int i = 255;⏹byte b=i; //false⏹byte b=(byte)i; //true,此时b=-1(2)浮点数到整数舍弃小数float x=23.7f;int y=x; //falseint y=(int)x; //true,此时y=233、其他转换(P8-9)数字->字符串Double.toString(double);Float.toString(float);String.valueOf(各种类型的数值);toBinaryString(long or int);“”+数字字符串->数字Byte.parseByte(string);Double.parseDouble(string);2.2 运算符1.算术运算符:+,―,*,/,%,++,――//%操作数可以是浮点数2.赋值运算符:=,+=,―=,*=,/= 等3.条件运算符:? :运算规则与C同4.关系运算符:>,<,>=,<=,==,!=运算结果为boolean类型(true false);5.布尔逻辑运算符:!,&&,||(1)操作数和结果值都为boolean类型(true false);(2)!,&&,||运算规则同C;6、位运算符:>>,<<,>>>,&,!,~,^(1)>>,<<,&,!,~,^运算规则同C,运算对象只能是整型和字符型数据;(2)>>>为无符号右移运算符,移出的低位被舍弃,最高位补0.例如:int b=-1;b=b>>10; //此时b=-1b=b>>>10; //此时b=41943037.对象运算符:instanceof测定一个对象是否属于某指定类,结果为boolean类型;public class Less2_3{ public static void main(String args[]){boolean result;String s=“Welcome";result=s instanceof String;System.out.println(result);}}2.3 控制语句▪分支语句:if-else , switch-case▪循环语句:while , do-while , for▪转移语句:break , continue2.3.1分支语句if(boolean-expression1){statements1;}else if(boolean-expression2){statements2;}…else{statementsN;}2.3.2switch语句switch (expression){case value1 :{statements1;break;}……case valueN :{statementsN;break;}[default :{defaultStatements;}]}(1)expression类型必须是以下之一:int、byte、char、short;(2)case子句中valueI必须是常量,而且应不同;(3)break语句使程序跳出switch语句,即终止switch语句的执行;int a = 100, b = 20, c ; char oper = …/‟;switch(oper){ case …+‟:{ c = a +b; break; }case …-‟:{ c = a - b; break; }default :{ c = a * b; break;} }例如:public class GradeLevel{public static void main(String args[]){int score;char grade;score=Integer.parseInt(args[0]);switch(score/10){case 10:case 9:grade='A';break;case 8:grade='B';break;case 7:grade='C';break;case 6:grade='D';break;default:grade='F';break;}System.out.println("Score="+score+"Grade="+grade);}}2.3.3循环语句例如:public class MultiTable{public static void main(String args[]){for(int i=1;i<=9;i++){for(int j=1;j<=i;j++)System.out.print(i+"*"+j+"="+i*j+"\t");System.out.println();}}}2.4 Java与C++的区别1、在JA V A中,不能在所有类之外定义全局变量;2、JA V A语言不支持C++语言中的goto语句;3、JA V A中用户不能直接进行任何指针操作;4、JA V A语言自动管理内存;5、JA V A中对数据类型分配固定的内存长度;6、JA V A中不支持头文件,用import语句与其他类进行联系;7、JA V A中不包含结构和联合,所有内容都封装在类中;8、JA V A语言不支持宏,通过关键字final来声明一个常量。

补充:常用命名规则【包名】单词小写,名称尽可能体现出分类例:package common.log; 表示关于日志处理的包package common.db; 表示关于数据库操作的包【类名】名词。

首字母大写,如多个单词组成,每个单词首字母大写。

例:class Nodeclass LinkList【方法名】首单词小写,如多个单词组成,其余每个单词首字母大写。

例:drawLine();printErrMsg();【成员变量】类的数据成员加前缀m_(表示member),这样可以避免数据成员与成员函数的参数同名。

首单词小写,如多个单词组成,其余每个单词首字母大写。

例:String m_name;如想体现变量类型可用String m_strName;【静态变量】静态变量加前缀s_(表示static)。

首单词小写,如多个单词组成,其余每个单词首字母大写。

例:static int s_count;【常量】常量全用大写的字母,用下划线分割单词。

例:final int MAX_LENGTH = 100;。