一:复习回顾:
基本数据类型:(面试问题)
浮点型: double float
整型 :long int short byte
布尔类型:boolean
字符型:char
复合类型:
数组
类:String 定义字符串。
接口
变量:
定义:
a:声明同时赋值
b:声明后赋值
c:声明多个同时赋值
d:声明多个变量,后给多个变量赋值。
变量:变量在使用的时候必须要赋值;
常量:用final修饰的变量,就是常量。一旦赋值,值不允许被改变。
注意: 全局常量:必须声明常量的时候同时赋值。
二:运算符:
计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。我们可以把运算符分成以下几组:算术运算符、关系运算符、位运算符、逻辑运算符、赋值运算符、其他运算符。
a:算数运算符:
+ - * / ++ -- %
/:
(1)都是整型,结果取整。
(2)如果有一个是浮点型,且除数不为0.结果取精确值。
(3) 被除数是整型:除数是0,结果抛出:ArithmeticException
(4)被除数是浮点型:除数是0,结果无穷大:Infinity
%:
(1)整数%整数=余数。
(2)整数%0=异常。
(3)浮点数%0=NaN
b:关系运算符:< <= > >= == != 关系运算符的运算结果是一个boolean类型。
int a=33;
int b=44;
boolean flag=a>=b;
==判断是否等于 返回的结果是一个boolean类型。
当操作数是基本数据类型的时候,比较的是具体的值。
c:位运算符: 与& 或 | ^ ~ << >> >>>
& 与: 操作数可以是boolean类型,还可以是整型。
当操作数是boolean的时候,运算的结果跟逻辑与完全相同。
当操作数是整型的时候,首先将整型转换为二进制:
true(1) & true(1) -----> true(1)
true(1) & false(0) ----->false(0)
false& true ------>false
false & false ----> false;
求: 6&3=2
110&011=010---->2
|:或:操作数可以是boolean类型。还可以是整型。
如果是boolean类型运算结果跟逻辑或完全相同。
true(1) | true(1) true(1)
true(1) | false(0) true(1)
false | true true
false | false false
求 6|3=7
110| 011=111----->7
~:按位取反:
1--->0
0---->1
0100110=~1011001
^:按位异或: 如果对应为相同,返回0,对应位不同,返回1.
6^3=5
110^ 011=101----->5
<<: 左移动:
结论:高位舍去,低位补0.
左移动n位:结果为 *2^n;
>>:带符号右移动:
带符号右移:
正数,低位舍去,高位补0.
负数,低位舍去,高位补1.
结论:右移动n位, 除以2^n.
>>>:不带符号右移动。
低位舍去,高位补0.
结论:右移动n位, 除以2^n.
d:逻辑运算符:逻辑与&& 逻辑或 || 逻辑非 !
逻辑与:&&
操作数必须是boolean类型。 元素结果:
true && true -----> true
true && false ----->false
false&& true ------>false
false && false ----> false;
结论:两个操作数当中只要有有一个值为false。结果就为false。
特点:逻辑与的运算采用短路法。就是说前边的表达式如果值false,
后边的表达式就不在参与运算了。
逻辑|| :操作数必须是boolean类型。
true || true true
true || false true
false || true true
false || false false
结论: 逻辑或运算的时候,也是采用短路法。 当第一个操作数
的结果为true时,结果就确定了,后边的表达式就不在参与运算。
逻辑非: !
操作数只有一个,并且是boolean类型。
!true---->false
!false--->true
e:条件运算符:(三目运算符,三元运算符)
语法:
表达式? value1:value2;
解释:表达式的运算结果为一个boolean类型,如果表达式的值为true。结果取value1.
表达式的结果为false。取value2的值。
f:赋值运算符: = += -= *= /= (%)= <<= >>= &= |= ^=
+=:
a+=3;等价于: a=a+3;
g:instanceof 运算符
该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。
( Object reference variable ) instanceof (class/interface type)
如果运算符左侧变量所指的对象,是操作符右侧类或接口(class/interface)的一个对象,那么结果为真。
三:运算符的优先级:
算数(后置)> 关系 > 逻辑 > 条件 > 赋值:
练习一:给定一个三角形的三条边,求周长。
给定一个三位数,求个位,十位,百位的和。 123
升级:给定任意一个三位数,求个位,十位,百位的和。
补充:键盘的录入:
(1)导包: java.util.Scanner;//导入包下的具体的类。
java.util.*;//导入java.util包下的所有的类。
(2) 创建Scanner对象:
Scanner sc=new Scanner(System.in);
(3)使用对象的方法:nextInt();可以接受一个整数。