Java基础02
内容回顾
1进制
二进制 八进制 十进制 十六进制
2注释:
单行注释 //
多行注释 /* * /
文档注释 /** */
*注释的作用就是对代码进行说明
3关键字
关键字就是被Java赋予了特殊含义的单词
特点:所有的关键字都是一个完整的单个单词
关键字单词的字母全部才有小写
4数据类型
Java是强类型语言
基本类型 byte、short、int、long、float、double、char、boolean
引用类型 class、interface、数组
5常量
赋值之后不能被改变的量只能被赋值一次,赋值之后的值不能改变
class Demo1
{
public static void main(String[] args)
{
final int A; //声明了一个常量
A = 10;//为常量A赋值 只能赋值一次
// A = 20 ; 此处赋值不成功
System.out.println(A);
}
}
6变量
可以进行多次赋值
声明格式: 类型 变量名称= 字符常量;
类型 变量名称;
类型 变量名称1,变量名称2,…;
对于变量在第一次使用须进行初始化(赋值)
变量本质是内存中的一块区域
区域的大小由数据类型决定
区域的名称就是变量名
区域中所存储的内容就是赋予的值
7标识符
给类,方法,变量等起名字的符号。
定义规则:
由数字、字母、下划线、美元符组成
不能以数字开头
不能是关键字
区分大小写
不建议使用中文命名的标识符
常见命名约定:
(小驼峰命名法)方法、变量
一个单词时,首字母小写
多个单词时,第一个单词首字母小写,其他单词首字母大写
(大驼峰命名法)类
一个单词时,首字母大写
多个单词时,每个单词首字母大写
标识符基本命名准则:见名知意
8类型转换
自动类型转换
把表示范围小的数值或变量赋值给另一个表示范围大的变量
byte、short、char不会互相转化,计算时首先会转化为int
boolean类型不能与其他数据类型运算
byte、short(char)< int < long < float < double
强制类型转换
把范围大的赋值给范围小的
格式:目标数据类型 变量名 = (目标数据类型)值或变量
可能造成精度降低或溢出
9运算符
算数运算符 +、-、*、/、%(取余)
赋值运算符 +、+=、-=、*=、/=、%=
隐含强制类型转换
会将扩展赋值运算符后作为一个整体来运算
public static void main(String[] args)
{
short s = 20;
s += 10; // s =(short) (s + 10)
System.out.println(s);
}
}
public static void main(String[] args)
{
int a=3;
int b=4;
a+=b;
System.out.println("a="+a+"\nb="+b);
a=3;
//a*=b+3; // 等同于 a = a *( b + 3) 21 会将扩展赋值运算符后的表达式作为一个整体和左边进行运算
a = a * b + 3;//15
System.out.println("a="+a+"\nb="+b);
}
}
自增自减运算符 ++、--
运算符放在后边先取值,后运算
运算符放在前面先运算,后取值
class Demo1
{
/*
++ 自增
-- 自减
*/
public static void main(String[] args)
{
int a = 5;
System.out.println(a++);//5 先取值 后运算
System.out.println(a);//6
System.out.println(++a);//7 先运算 后取值
}
}
关系运算符 ==、!=、>、>=、<、<=
逻辑运算符 &(与)、|(或)、^(异或)、!(非)
&&(短路与)、||(短路或)
注意事项:
逻辑与&,无论左边真假,右边都要执行。
短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。
逻辑或|,无论左边真假,右边都要执行。
短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。
位运算符 (二进制位的运算)
~(取反)、&(按位与)、|(按位或)、^(按位异或)、
<<(左移)、>>(右移)
位运算的执行效率是最高的
public static void main(String[] args)
{
int a = 3 ;
int b = 2;
int c = 3 << 2;// 3 * 2 * 2
int c = 3 >> 2;//3/2/2
System.out.println(c);
}
正数原码 反码 补码 都一样
负数原码 反码除符号位,按位取反 补码:原码取反+1
三元运算符
格式: 关系表达式?表达式1:表达式2
当关系表达式成立(true) 则结果为表达式1,否则为表达式2
public static void main(String[] args)
{
int a = 3 ;
int b = 2;
int c = a <b ? a+1 : ++b;
System.out.println(c);
}
class Demo1
{
/*
需求:动物园里有两只老虎,已知两只老虎的体重分别为180kg、200kg,
请用程序实现判断两只老虎的体重是否相同。
*/
public static void main(String[] args)
{
int weightA = 180;
int weightB =200;
boolean result = weightA == weightB ? true : false;
System.out.println(result);
}
}
class Demo1
{
/*
需求:一座寺庙里住着三个和尚,已知他们的身高分别为150cm、210cm、165cm,
请用程序实现获取这三个和尚的最高身高。
*/
public static void main(String[] args)
{
int height1 = 150;
int height2= 210;
int height3 = 165;
int max = (height1 > height2 ? height1 : height2) > height3 ? (height1 > height2 ? height1 : height2) : height3;
System.out.println(max);
}
}