java运算符基础入门.docx
- 文档编号:29127901
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:17
- 大小:175.99KB
java运算符基础入门.docx
《java运算符基础入门.docx》由会员分享,可在线阅读,更多相关《java运算符基础入门.docx(17页珍藏版)》请在冰豆网上搜索。
java运算符基础入门
1运算符
1:
运算
对常量和变量进行操作的过程称为运算。
2:
运算符
对常量和变量进行操作的符号称为运算符
3:
操作数
参与运算的数据称为操作数
4:
用运算符把常量或者变量连接起来符号java语法的式子就可以称为表达式。
不同运算符连接的式子体现的是不同类型的表达式。
举例:
inta=3+4;
这是做了一个加法运算
+就是运算符,是算术运算符,我们还有其他很多的运算符
3,4就是参与运算的操作数据
3+4整体其实就是一个算数表达式
●+,-,*,/都是比较简单的操作,简单演示即可
●+的几种作用:
•加法
•正数
•字符串连接符
●除法的时候要注意一个问题:
•整数相除,只能得到整数
•要想得到小数,可以*1.0
●/和%的区别
●++和--的应用
•单独使用效果相同
•参与运算使用,在操作数的前后效果不同
●1:
基本小题目
●inta=10;
●intb=10;
●intc=10;
●a=b++;
●c=--a;
●b=++a;
●a=c--;
●请分别计算出a,b,c的值
●2:
比较复杂的题目
●inta=4;
●intb=(a++)+(++a)+(a*10);
●引出运算符的优先级
2赋值运算符
●符号:
•=,+=,-=,*=,/=,%=
•=为基本的赋值运算符,其他的为扩展的赋值运算符
●如下操作写出结果
•inta,b;a=b=10;
•System.out.println(a);System.out.println(b);
•inta=10;a+=20;System.out.println(a);
●面试题
•shorts=1,s=s+1;shorts=1,s+=1;
•上面两个代码有没有问题,如果有,那里有问题
1:
=赋值号
2:
+=加赋值
把左边和右边的结果赋值给左边。
注意:
左边不能是常量
3:
通过面试题引出+=运算符的特点:
有一个隐含的默认转换功能。
实际上等价于:
shorts=1;
s+=1等价于
s=(s的数据类型)(s+1
关系运算符
●注1:
比较运算符的结果都是boolean型,也就是要么是true,要么是false。
●注2:
比较运算符“==”不能误写成“=”。
●1:
注意2的时候举例
●System.out.println(a==b);
●System.out.println(a=b);
●2:
赋值的时候要注意类型问题
●intx=10;
●inty=10;
●booleanflag=(x==y);
●booleanflag=(x=y);
●booleanb1=true;
●booleanb2=false;
●booleanb3=(b1==b2);
●booleanb4=(b1=b2);
●
逻辑运算符
a=10;
b=20;
c=30;
a>c&&b>c
a>c&&b a a 逻辑运算符 ●逻辑运算符用于连接布尔型表达式,在Java中不可以写成3 ●“&”和“&&”的区别: •单&时,左边无论真假,右边都进行运算; •双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。 “|”和“||”的区别同理,双或时,左边为真,右边不参与运算。 ●异或(^)与或(|)的不同之处是: 当左右都为true时,结果为false。 ●&: 有false则false ●|: 有true则true ●^: 相同false,不同true ●帮助理解: 情侣必须是男女或者女男 ●! : 非false则true,非true则false ●&&,||和&以及|的区别 ●结果相同,但是有短路效果,一般建议使用&&,|| ●intx=3;inty=4; ●System.out.println((x++>4)&(y++>5)); ●System.out.println(x); ●System.out.println(y); ●System.out.println((x++>4)&&(y++>5)); ●System.out.println(x); ●System.out.println(y); 位运算符 <<: 就是将左边的操作数在内存中的二进制数据左移右边操作数指定的位数,右边被移空的部分补0。 相当于乘与2的倍数 >>: 右移稍微复杂一点,如果最高位是0,左边被移空的位就填入0;如果最高位是1,左边被移空的位就填入1。 相当于除以2的倍数 >>>: 无论最高位是1还是0,左边被移空的高位都填入0。 看结果: 总结相当于乘以或者除以2的多少次幂。 System.out.println(3<<2); System.out.println(24>>2); System.out.println(24>>>2); System.out.println(-24>>2); System.out.println(-24>>>2); 位运算符 位运算符 ●面试题 ●请用最有效率的方式写出计算2乘以8的结果 ●请自己实现两个整数变量的交换 ●^的特点 ●a: 第三方变量 ●b: 加法方式 ●a=a+b; ●b=a–b; ●a=a–b; ●c: ^异或位运算符 ●d: 一句话搞定 ●a=(a+b)-(b=a) 三目运算符 ●格式 •(关系表达式)? 表达式1: 表达式2; •如果条件为true,运算后的结果是表达式1; •如果条件为false,运算后的结果是表达式2; ●示例: •获取两个数中大数。 •intx=3,y=4,z; •z=(x>y)? x: y;//z变量存储的就是两个数的大数。 条件运算符的练习 ●获取两个整数中的最大值 ●获取三个整数中的最大值 ●比较两个整数是否相同 ●注意: •目前在写案例的时候,如果我没有说明数据是什么类型的,默认是int类型的。 键盘录入数据 ●键盘录入数据概述 •我们目前在写程序的时候,数据值都是固定的,但是实际开发中,数据值肯定是变化的,所以,我准备把数据改进为键盘录入,提高程序的灵活性。 ●如何实现键盘录入数据呢? (目前先记住使用) •导包(位置放到class定义的上面) •importjava.util.Scanner; •创建对象 •Scannersc=newScanner(System.in); •接收数据 •intx=sc.nextInt(); 运算符的优先级(从高到低) 优先级 描述 运算符 1 括号 ()、[] 2 正负号 +、- 3 自增自减,非 ++、--、! 4 乘除,取余 *、/、% 5 加减 +、- 6 移位运算 <<、>>、>>> 7 大小关系 >、>=、<、<= 8 相等关系 ==、! = 9 按位与 & 10 按位异或 ^ 11 按位或 | 12 逻辑与 && 13 逻辑或 || 14 条件运算 ? : 15 赋值运算 =、+=、-=、*=、/=、%= 16 位赋值运算 &=、|=、<<=、>>=、>>>= 如果在程序中,要改变运算顺序,可以使用()。 常用字符与ASCII代码对照表 为了便于查询,以下列出ASCII码表: 第128~255号为扩展字符(不常用) ASCII码 键盘 ASCII码 键盘 ASCII码 键盘 ASCII码 键盘 27 ESC 32 SPACE 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' 40 ( 41 ) 42 * 43 + 44 ' 45 - 46 . 47 / 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ? 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W 88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _ 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w 120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 1: 关键字(掌握) (1)被Java语言赋予特定含义的单词 (2)特点: 全部小写。 (3)注意事项: A: goto和const作为保留字存在。 B: 类似于Notepad++这样的高级记事本会对关键字有特殊颜色标记 2: 标识符(掌握) (1)就是给类,接口,方法,变量等起名字的字符序列 (2)组成规则: A: 英文大小写字母 B: 数字 C: $和_ (3)注意事项: A: 不能以数字开头 B: 不能是java中的关键字 C: 区分大小写 (4)常见的命名规则(见名知意) A: 包全部小写 单级包: 小写 举例: liuyi,com 多级包: 小写,并用.隔开 举例: cn.itcast,com.baidu B: 类或者接口 一个单词: 首字母大写 举例: Student,Demo 多个单词: 每个单词首字母大写 举例: HelloWorld,StudentName C: 方法或者变量 一个单词: 首字母小写 举例: name,main 多个单词: 从第二个单词开始,每个单词首字母大写 举例: studentAge,showAllNames() D: 常量 全部大写 一个单词: 大写 举例: PI 多个单词: 大写,并用_隔开 举例: STUDENT_MAX_AGE 3: 注释(掌握) (1)就是对程序进行解释说明的文字 (2)分类: A: 单行注释// B: 多行注释/**/ C: 文档注释(后面讲)/***/ (3)把HelloWorld案例写了一个带注释的版本。 后面我们要写一个程序的过程。 需求: 分析: 实现: 代码体现: (4)注释的作用 A: 解释说明程序,提高了代码的阅读性。 B: 可以帮助我们调试程序。 后面我们会讲解一个更高端的一个调试工具 4: 常量(掌握) (1)在程序执行的过程中,其值不发生改变的量 (2)分类: A: 字面值常量 B: 自定义常量(后面讲) (3)字面值常量 A: 字符串常量"hello" B: 整数常量12,23 C: 小数常量12.345 D: 字符常量'a','A','0' E: 布尔常量true,false F: 空常量null(后面讲) (4)在Java中针对整数常量提供了四种表现形式 A: 二进制由0,1组成。 以0b开头。 B: 八进制由0,1,...7组成。 以0开头。 C: 十进制由0,1,...9组成。 整数默认是十进制。 D: 十六进制由0,1,...9,a,b,c,d,e,f(大小写均可)组成。 以0x开头。 5: 进制转换(了解) (1)其他进制到十进制 系数: 就是每一个位上的数值 基数: x进制的基数就是x 权: 对每一个位上的数据,从右,并且从0开始编号,对应的编号就是该数据的权。 结果: 系数*基数^权次幂之和。 (2)十进制到其他进制 除基取余,直到商为0,余数反转。 (3)进制转换的快速转换法 A: 十进制和二进制间的转换 8421码。 B: 二进制到八进制,十六进制的转换 6: 变量(掌握) (1)在程序的执行过程中,其值在某个范围内可以发生改变的量 (2)变量的定义格式: A: 数据类型变量名=初始化值; B: 数据类型变量名; 变量名=初始化值; 7: 数据类型(掌握) (1)Java是一种强类型语言,针对每种数据都提供了对应的数据类型。 (2)分类: A: 基本数据类型: 4类8种 B: 引用数据类型: 类,接口,数组。 (3)基本数据类型 A: 整数占用字节数 byte1 short2 int4 long8 B: 浮点数 float4 double8 C: 字符 char2 D: 布尔 boolean1 注意: 整数默认是int类型,浮点数默认是double。 长整数要加L或者l。 单精度的浮点数要加F或者f。 8: 数据类型转换(掌握) (1)boolean类型不参与转换 (2)默认转换 A: 从小到大 B: byte,short,char--int--long--float--double C: byte,short,char之间不相互转换,直接转成int类型参与运算。 (3)强制转换 A: 从大到小 B: 可能会有精度的损失,一般不建议这样使用。 C: 格式: 目标数据类型变量名=(目标数据类型)(被转换的数据); (4)思考题和面试题: A: 下面两种方式有区别吗? floatf1=12.345f; floatf2=(float)12.345; B: 下面的程序有问题吗,如果有,在哪里呢? byteb1=3; byteb2=4; byteb3=b1+b2; byteb4=3+4; C: 下面的操作结果是什么呢? byteb=(byte)130; D: 字符参与运算 是查找ASCII里面的值 'a'97 'A'65 '0'48 System.out.println('a'); System.out.println('a'+1); E: 字符串参与运算 这里其实是字符串的连接 System.out.println("hello"+'a'+1); System.out.println('a'+1+"hello"); System.out.println("5+5="+5+5); System.out.println(5+5+"=5+5");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 运算 基础 入门