JAVA讲义
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
变量只有一份;可以使用“对象.类属性”来调用,不过,一般都是用”类 名.类属性”;static变量置于方法区中)、常量。局部变量使用前必须要 先赋值、实例变量则可以不需要。变量名、常量名、方法名、类名的命 名规则。 //实例变量、成员变量、常量 public class TestVariable { int t; //实例变量,成员变量,属性 public static void main(String[] args){ int a; //局部变量使用之前必须要赋值,而实例变量则有缺省初值 int b = a+3; int x,y,z; final int C=34; C = 35; final int MAX_SPEED = 120; } } //变量首字母小写,驼峰原则;类名首字母大写,驼峰原则;常量全部 大写,单词之间下划线相隔 Type: primitive type(byte,short,int,long,float,double,char, boolean), reference type(class, interface, Array) (4)运算符:算术运算符、赋值运算符、关系运算符、逻辑运算符 (&&、||、!)、位运算符(&(按位与)、|(按位或)、^(按位异 或)、~(按位取反)、>>(右移运算符,右移一位相当于除2取商)、 <<(左移运算符,左移一位相当于乘2)、>>>(无符号右移、忽略符 号位扩展、0补最高位))、字符串连接符(+)、条件运算符、扩展 运算符(+=、-=、*=、/=、%=)。短路求值。运算符优先级。 //运算符Operator 算术运算符:+、-、*、/、%、++、-赋值运算符:= 关系运算符:>、<、>=、<=、==、!=、instanceof 逻辑运算符:&&、||、! 位运算符:&(按位与)、|(按位或)、^(按位异或)、~(按位取 反)、>>(右移运算符,右移一位相当于除2取商)、<<(左移运算 符,左移一位相当于乘2) 条件运算符:?: 扩展运算符:+=、-=、*=、/=、%=
int a = 3*2*2; int b = 3<<3; //相当于:3*2^3; int c = 12/2/2; int d = 12>>2; System.out.printБайду номын сангаасn(a); System.out.println(b); System.out.println(c); System.out.println(d); boolean b1 = true&false; //没有短路功能 System.out.println(b1); */ /* //扩展运算符 int a = 3; a +=5; //a = a+5; */ /* //字符串相连:加号两边只要有一个为字符串,则变为字符串连接 符,整个结果为字符串。 System.out.println(4+"5"); */ int a=3; int b=5; String str= ""; /* if(a<b){ str = "a<b"; }else{ str = "a>b"; } */ str = (a<b)?"a<b":"a>=b"; System.out.println(str); } } (5)控制语句:顺序、语句块、选择(单选、双选、多选(if else if、
System.out.println(Integer.toBinaryString(a)); System.out.println(Integer.toOctalString(a)); System.out.println(Integer.toHexString(a)); int a = 0b0000_0000_0000_0000_0000_0000_0000_0011; int b = 1_2312_3131; System.out.println(a); System.out.println(b); int a5 = 10; long a6 = 200; byte b2 = 100; //如果数据的大小没有超过byte/short/char的表述范 围,则可以自动转型。 long a7 = 11123213232L; long l = 3; long l2 = l+3; //L问题 } } //测试浮点数 public class TestFloatType { public static void main(String[] args){ //double d = 3.14; //浮点数常量默认类型是double。 //float f = 6.28F; double d2 = 314e-2; //采用科学计数法的写法 System.out.println(d2); float f = 0.1f; double d = 1.0/10; System.out.println(f==d); //false } } //测试char public class TestCharType { public static void main(String[] args){ /* char c1 = 'a';
char c2 = '方'; //unicode 2: 0-65535 char c3 = '\n'; System.out.print(c1); System.out.print(c3); System.out.print(c2); */ /* char c4 = 'a'; int i = c4 + 2; char c5 = (char)i; //强制转型 System.out.println(c5); //循环打印a-z for(int j=0;j<26;j++){ char temp = (char)(c4+j); System.out.print(temp); } //java里面的字符串,是定义成:String类了。 String str = "abcdefghijklmnopqrstuvwxyz"; System.out.println("\n"+str); */ boolean b = false; //false if(b){ //if(b==true)..if(b=true) System.out.println("true"); } } } byte->short->int->long/char->int/int->double float>double///int..>float/long..>float/long..>double //测试自动转型和强制转型 CAST public class TestCast { public static void main(String[] args){ /* byte b = 123;
//byte b2 = 300; //char c = -3; char c2 = 'a'; int i = c2; long d01 = 123213; float f = d01; //测试强制转型 int i2 = -100; char c3 = (char)i2; //-100超过char的表数范围,所以转换成完全不 同的值,无意义的值! System.out.println(c3); */ /* //表达式中的类型提升问题 int a = 3; long b = 4; double d = 5.3; int c = (int)(a+b); //做所有的二元运算符(+-/*%),都会有类型提升 的问题! float f = (float)(a + d); */ int money = 1000000000; //10亿 int years = 20; long total = (long)money*years; //返回的是负数//(long) (maney*years) System.out.println(total); //一个人70年心跳多少次 long times = 70L*60*24*365*70; System.out.println(times); } } (3)局部变量、实例变量、类变量(在类中,用static声明的成员变量 为静态成员变量,它为该类的公用变量、属于类,被该类的所有实例共 享,在类被载入时被显示初始化;对于该类的所有对象来说,static成员
(1) 5/2 = 2, 5/2.0=2.5 (2) x=x+1/x+=1/x++ (06slides.pdf) (3) CONSTANT: private static final double PI = 3.14; (4) 函数,整形与浮点数的除法运算操作符,操作符优先级,类型转 换,常量,布尔数据类型,值的比较,布尔表达式,短路求值 (07slides.pdf) (5) Average2Integers.java public class TestOperator { public static void main(String[] args){ /* double d = 10.2%3; System.out.println(d); int a = 3; int b = a++; //执行完后,b=3。先给b赋值,再自增。 int c = ++a; //执行完后,c=5。先自增,再给b赋值 System.out.println(a); System.out.println(b); System.out.println(c); */ // int c = 3/0; /* boolean c = 1<2&&2>(3/0); //短路运算 System.out.println(c); */ /* //测试位运算 int m = 8; int n = 4; System.out.println(m&n); System.out.println(m|n); System.out.println(~m);//为什么是-9??? System.out.println(m^n);
通信2013级
《高级程序设计A》(JAVA)讲 义
2015-9-1
1、JAVA基础概念: (1)类、对象:以类的方式组织代码、以对象的方式组织数据。同类 对象的抽象类,类是对象的模板。 (2)变量:存储数据的单元,name、type、value三部分。 Name:标识符的规则、字符集(iso8859-1、BIG5、GB2312、GBK、 GB18030、Unicode、UTF-8、UTF-16)。 Type:原始类型(byte、short、int(二进制、八进制、十六进制表示形 式)、long、float、double(十进制形式、科学计数法形式)、char、 boolean)和引用类型(class、interface、array)、自动类型转换、强制 类型转换、类型提升问题(所有二元运算,都存在)。 /* *测试标识符的写法 */ public class Welcome{ public static void main(String[] args){ int $abc = 3; int $ = 5; int _123=5; //int 123abc = 6; //标识符不能以数字开头 //int abc# = 3; //标识符不能包含除了字母、数字、下划线、$之 外的其他字符 //int class = 3; int 武汉 = 10; //java内部采用了Unicode字符集,universal。 } } //测试整数类型:byte,short,int,long。以及进制之间的转换问题 public class TestDataType { public static void main(String[] args){ int a = 10; int a2 = 010; int a3 = 0xf; // byte b = 200; // System.out.println(b); System.out.println(a); System.out.println(a2); System.out.println(a3);