收藏 分享(赏)

第2章 java语言基础语法.ppt

上传人:hwpkd79526 文档编号:10068736 上传时间:2019-10-04 格式:PPT 页数:32 大小:851.50KB
下载 相关 举报
第2章 java语言基础语法.ppt_第1页
第1页 / 共32页
第2章 java语言基础语法.ppt_第2页
第2页 / 共32页
第2章 java语言基础语法.ppt_第3页
第3页 / 共32页
第2章 java语言基础语法.ppt_第4页
第4页 / 共32页
第2章 java语言基础语法.ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、Java语言程序设计,第二章 Java语言基础语法,2.1第一个程序,public class Testpublic static void main(String args)int i=29; int j=3; float a=23.5f; double b=4.0 ;System.out.println(“i+a=“+(i+a);/ addSystem.out.println(“i*j=“+(i*j);System.out.println(“i/j=“+(i/j); /运算结果为整数System.out.println(“i%j=“+(i%j); /求余数System.out.printl

2、n(“a*b=“+(a*b);System.out.println(“a/b=“+(a/b); /运算结果为浮点数System.out.println(“a%b=“+(a%b); /结果为浮点数System.out.println(“i+=“+(i+); / 先使用,后自增0851-5518123,程序命名 *.javaMain方法 args2.编译运行程序javac java 3.注释/ 和/* */ 4.控制语句、循环语句 5.程序块,参数实例,class par public static void main(String args) System.out.println(“第一个参数”

3、+args0); System.out.println(“第一个参数”+args1); ,2.2基本语言要素,标识符(类,方法或变量) 关键字常量 final double PI=3.14159; 4.变量 5.注释,2.3 基本数据类型,整型:字节型 byte,短整型short,整型int,长整型内存空间 类型 名称 可表达的数值范围 缺省值8bits(1字节) byte 字节 -27 . 27 -1 016 bits short 短整型 -215 . 2 15 -1 032bit int 整型 -2 31 . 2 31 -1 064 bits long 长整型 -2 63 . 263 -1

4、 0Lbyte b=127 int i=1111; short s=234; long a=323; long b=3322112L; /指定为长整型值 long c=0x0a4d; /16进制值的设置,2.浮点类型:单精度型float,双精度型double内存空间 类型 名称 可表达的数值范围 缺省值32 bit float 浮点型 1.4e-45 . 3.4e+38 0.0f64 bits double 双精度型 4.9e-324 . 1.7e +308 0.0d在Java中,具有小数的数值,默认为double类型,若欲强制指定某数值为float类型时,必须在该数值后加上一个f,例如:2.

5、32f。,使用char类型可表示单个字符。一个char代表一个16-bit无符号的(不分正负的)Unicode字符。一个char文字必须包含在单引号内(),比如:a 。 String不是原始类型,而是一个类(class),它被用来表示字符序列。字符本身符合Unicode标准。String的文字应用双引号封闭,如下所示:“The quick brown fox jumped over the lazy dog.” Char和String类型变量的声明和初始化如下所示:char ch = B; / 定义并初始化一个字符变量char ch1,ch2 ; / 定义两个字符变量String greeti

6、ng = “Good Afternoon ! n “; /定义字符串变量并初始化 str = “ABC” + ”DEF”; Char 缺省 u0000 占2字节 将一个字符放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的相应的Unicode代码放到存储单元中,3.字符类型:字符型char 和string,常用转义字符,b (退格) f (换页) n (换行) r (回车) t (水平制表符(到下一个tab位置) (单引号) “ (双引号) (反斜杠),String类 常用的方法 见补充2 string常见方法 Math类绝对值abs(double a)、min(do

7、uble a,double b)、 random()、sqrt(dobule a).,4.布尔类型:布尔型boolean 默认false 1字节. 类型转换 p46 加宽转换-自动类型转换 变窄转换-强制转换 如将int型赋给byte型 int a=300;byte b; b=(byte)a; b=? 浮点型赋给整型时进行截断转换 .类型自动提升,升级和类型转换,赋值和表达式可能引起计算的数据类型与保存结果的存储位置之间的不匹配。,左边的数据类型右边的数据类型 :byte num1=53;byte num2=47;long num3;num3=num1*num2; 左边的数据类型右边的数据类型

8、:int num1=53;int num2=47;byte num3;num3=num1+num2; 左边的数据类型右边的数据类型: int num1=53;int num2=47;byte num3;num3=num1*num2;,注意: Java是强类型语言,因此,在进行赋值操作时要对类型进行检查;,自动升级规则,1. (byte或 short) op int int 2. (byte或 short或 int) op long long 3. (byte或 short或 int或 long) op float float 4. (byte或 short或 int或 long或 float)

9、 op double double 5. char op int int 其中,箭头左边表示参与运算的数据类型 op为运算符(如加、减、乘等) 右边表示运算结果的数据类型。 如:3+4.5,因为4.5是float型,所以3先被转换为float型,然后再于4.5相加,其结果也为float型。,例: 自动升级实例,public class Promotion public static void main( String args ) byte b = 10; char c = a; int i = 90; float f = 3.5f; double d = 1.234; float f1; f

10、1 = f * b; int i1; i1 = c+i; double d1; d1 = f1 / i1 d; ,public class Age public static void main(String args )int ageYears;int ageDays;long ageSeconds;ageYears=Integer.parseInt(args0);ageDays=ageYears*365;ageSeconds=(ageYears*365*24L*60*60);System.out.print(“You are”+ageDays+”days old.”);System.out

11、.print(“You are”+ageSeconds+”seconds old.”); ,2.4 数组,/ArrayAvg.java public class ArrayAvgpublic static void main(String args) final int ARRAY_SIZE=10;int a=new intARRAY_SIZE;int i=0;int sum=0;double avg=0.0;for(i=0;ia.length;i+) /使用了length属性ai=(int)(Math.random()*10); /产生随机数sum=sum+ai; /计算和System.ou

12、t.print(“ “+ai); /输出System.out.println();avg=(double)sum/a.length; /先转换为浮点数,再计算System.out.println(“average=“+avg); ,public class TwoArrayAvg public static void main(String args) final int ONE_SIZE=2;final int TWO_SIZE=5;int two=new intONE_SIZETWO_SIZE;int i=0,j=0;int sum=0;double avg=0.0;for(i=0;itw

13、o.length;i+) for(j=0;jtwoi.length;j+) twoij=(int)(Math.random()*10);sum=sum+twoij;System.out.print(“ “+twoij); System.out.println(); avg=(double)sum/(two.length*two0.length);System.out.println(“average=“+avg);,整型、浮点型、字符型、字符串 多维数组,2.5运算符,算术运算符+ - * / % + += -= *= /= %= - Math.pow(2.0, 3.0); / 2.03.07

14、 / 5 结果为 ? 7 % 5 结果为 ?-7 / 5 = -7 % 5 = 7 % -5 = 5.5 % 1.0 = 7 / -5 = 3/6*12 = 15.25%0.5 = 15.75%0.5 =,-1 -2 2 0.5 -1 0 0.25 0.25,关系运算符= != = 2; / false3.5 != 1; / true 51.5 = 23.0; / true540 、=只能用来比较两个数值类型数据(含字符类型)的大小 不能用于Strings、booleans、arrays或其他类型,位运算操作数要求是布尔类型数据,结果为布尔值六个布尔逻辑运算符:& (逻辑与AND)| (逻辑或

15、OR) (逻辑异或XOR )! (逻辑非NOT) 单目运算符, 即只有一个操作数 & (条件与AND) | (条件或OR),短路规则 ( &和| ),如果从第一个操作数可以推断出表达式结果,就不再计算第二个操作数 例如:if (x = 2) ,逻辑运算(&和| ),两个操作数均会被运算 (即不采用短路规则) 例如, (birthday = true) | (+age = 65),位运算符,位运算符包括:&、|、和 带符号右移 不带符号右移 移位操作是:先将整数写成二进制形式,然后按位操作,最后产生一个新的数 注意: 只用于整数,赋值类运算符,赋值类运算符包括:=、+=、-=、*=、/=、 i*

16、=2+3等价于?,条件运算符,条件运算符“? :”的表达式形式为 (op1 ? op2 : op3)其中要求op1为布尔表达式,Op1的值为true,结果为表达式op2的值;否则,结果为表达式op3的值op2和op3需要返回相同的数据类型,不能为void,例如:int i=5; int k= ( (i=0) ? 1 : -1);,int x=5,y=8,z=2 int k=x3?y:z;请问k=?,k=2,int y=x0?x:-x; 请问y=?,y=|x|,其他运算符,其他运算符包括:(类型)、.、 、( )、instanceof和new 例如: int a=51; char c=(char

17、)a; instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。Boolean b; String str = “foo“; b = ( str instanceof String ); / true b = ( str instanceof Object ); / also true b = ( str instanceof Date ); / false, not a Date or subclass,运算符优先级别,优先级规则: ()乘除(从左到右)加减(从左到右) 复杂的表达式: C=25-5*4/2-10+4; 从左到右的规则求值,结果是:34 按照优先级规则求值,结果是:9 可以用( )来改变优先顺序或使表达式更容易理解 例如: a + b + c / 3 (a + b + c ) / 3,作业,写一个程序打印斐波拉契 (Fibonacci) 数列,数列的长度可以由输入指定。斐波拉契 (Fibonacci) 数列是的前两项分别是1和1,后续各项分别是前面两项的和。1 1 2 3 5 8 13 21 34 至少用2种方式实现。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报