一、课程回顾
1.java的程序回顾
(1)java程序由类组成的,类是有一对大括号组成类体,类体中有方法,方法有方法体组成;
(2)java的每一条语句或变量的声明必须由分号结尾
(3)创建Java程序,需要创建源文件,源文件有.java结尾,每一个这样的源文件有且仅有一个公共的(public)类,除此之外可以包含其他的非公共的类。
(4)公共的类名务必要与源文件保持一致。
/**
*这是一个xx类
*/
public class JingJing{
/**
*这是一个主方法
*/
public static void main(String[] args){
//这是一个输出语句
System.out.println("一,");
System.out.println("二,");
System.out.println("三,");
System.out.println("四,");
}
}
2.可能出现的bug
系统单词有误,格式有误(没有闭合,缺结尾符分号,方法缺参数),引号写成了全角,程序编码有误(比如编码在记事本中保存时要为ANSI),源文件与公共类名不一致,源文件的扩展名有误(.java写成了.jave);其他未知错误
3.计算机基础
二进制的使用规则,十六进制的表示方法,十、二、十六进制之间的转换
说明:计算机真正存取与处理的数据都是二进制数据,其他进制是为了在程序方便表达的
一、java的变量与数据类型
-
什么是变量,作用是什么
在程序运行中动态改变的量,他可以存取程序中需要的数据
比如: int age=18;
double money=888888;
boolean friend=true;
char ch='B'; byte[] faces={98,95,96,93}; String poem="一江春水向东流";/** *变量与数据类型的定义(创建,声明) */ public class Myvari{ public static void main(String[] args){ //变量的定义与数据类型的应用 //java中的变量是有类型的,java中的基本数据类型有三大类共8种 1.数值型,又分为整型、字节型与浮点型,一共包含种一共包含6种 //1.1整型->短整型short,整数型int,长整型long short age=18;//占两个字节,范围-2^15-->2^15-1 int coins =9888888;//占四个字节,范围-2^31--->2^31-1 long id number=12335567785L;//占8个字节,不要忘了在最后加一个L,范围是-2^63--->2^63-1 //1.2字节型byte,其作用主要用于创建字节数组,方便的存取字节流数据(二进制数据) //能更好的在网络上以及磁盘上传输数据,占一个字节,范围-128--->127 byte ag=19;//存取少量数据的 byte[] buffer =new byte[1024];//字节数组,为了存取大量数据 //1.3浮点型,有分为单精度浮点型float,双精度浮点型double //其大小根据IEEE754(国际电子电气工程协会)标准来的 float salary=28000.45f;//占4字节,要以f标识结尾以科学计数法表示大小-3.41*10^38--->3.4*10^38 double gdp=7645565476.346d;//占8字节,可以用d结尾也可以的省略,以科学计数法表示大小-1.79*10^308--->1.79*10^308 //说明,小数默认是double System.out.println("------1.数值型数据-----"); System.out.println(age); System.out.println("财富:"+coins); System.out.println("年龄:"+ag); //直接输出数组名,则拿到的是数组的地址,要拿到数组中的具体的数值(需要通过下标引用来取) System.out.println("数组:"+buffer); System.out.println("薪资:"+salary); 2.字符型char,占两个字节 System.out.println("------2.字符型数据-----"); //2.1标准化的字符数据赋值 char ch1='a'; char ch2='5'; char ch3='*'; char ch4='好'; //2.2通过数字来赋值0-65535->按照ASCII方式来设置字符的值 //65->90是A-Z的字符数值 char ch5=65;//显示大写A char ch6=66;//显示大写B //97->122是a-z的字符数值 char ch7=97;//显示小写a char ch8=98;//显示小写b //2.3通过转义符方式来赋值 char ch9='\"';//输出双引号 char ch10='\n';//转行 char ch11='\t';//制表符 //2.4 通过无符号UTF-8的十六进制来表示英文符号或汉字 char ch12='\u3E67';//显示李字 System.out.println("字符:"+ch5); System.out.println("字符:"+ch8); System.out.println("字符:"+ch12); 3.布尔型boolean,只有false与true两种值,占一个字节(数组中),占4个字节(单独使用) System.out.println("------3.布尔型型数据-----"); boolean dangnian= true; boolean hf=false; } } //Java源文件编译后都要生成字节码文件.class,再通过java命令运行 //注意,还有一种数据类型,不代表任何类型,一般为无值型void
2.java中有三大8种基本数据类型
以下为8种基本数据类型的声明(取名)并赋值的效果
2.1数值型:
(1)整型:
short短整型 short _score=98;
short a=100;
short b=120;
short x=12;short x=12;short x=12;//可以写,但不建议这么写
//先声明(也可以直接声明的同时赋一个初始值,也可以之后赋值)
short m,n,k=15;//k声明的同时赋了初值
//后赋值
m=10;
n=20;
k=18;
int整数型
int a=100;
int 想x,y,z;
x=10;
y=12;
z=14;
int m=10,n=20;
long长整型
long id=1000100001;
longx,y;
x=101098;
y=2010086;
(2)浮点型:其实就是小数
float单精度型
float salary=5900.85f;
salary =6500.5f;
salary =7000;
salary =7000.0;//报错,因为小数默认是双精度型double,比float高级
salary =7000.0f;//正确
double双精度型
double gdp=35600000;
double fdp=2864375896.56;
double dp=987772.68f
(3)字节型:byte(范围-128->127)
byte x =110;
byte y=100;
2.2字符型:char
char ch=‘A’;
char cc=‘9’;
char ch=68;//显示出来的是大写D
char ch=99;//显示出来的是小写c
2.3布尔型(逻辑性):boolean主要用于存储有两种状态的情况,比如:性别,婚否,及格与否等
boolean hf=flase;//可以代表未婚
hf=true;//代表已婚
说明:凡是有两种状态都强烈建议使用布尔型
友情提示:
(1)变量的类型是分级的,低级别的自动向高级别转换
(2)变量的级别从高到低依次是:double>float>long>int>short(char)>byte
(3)boolean不参与级别比较,单独使用
(4)一个整数默认情况下是int型,一个小数默认是double型
-
java的命名规范(见文知义)
1.类名建议首字母大写,其他部分也是首字母大写
比如:Mylob MyGame ZhengzhouGongCheng
2.方法名建议首字母小写,其他部首大写
比如:playLoL findUserByname getMoneyByld
3.类中的变量名或方法中的参数名一律小写,其他部分大写
比如::salary、qiangshengSaleDept、saleDept
4.常量建议一律都用大写字母命名,中间也可由其他字符
比如:PI WEIGHTG
5.自定义的变量名称或者方法、类名中不能有关键字(java系统占用的)
比如:if else class for int long float等
说明:
(1)变量名,方法名,类名等又称为标识符,标识符不能是系统保留的关键字(比如:int if else class long 等)
(2)取的名称尽量见文知义,名称要是“驼峰式” 的
(3)标识符务必用下划线、字母、$开头,之后可以使用数字及其他字符,但不能用数字及单双引号与其他特殊字符开头
比如:正确的:_flower $moeny student
错误的:3student *class ##89abc
二、java的运算符
2.1定义与作用
Java中的运算符用于四则运算、赋值运算、逻辑运算、比较运算、位运算等,最终获取正确的结果
2.2运算符的种类
算数运算符,赋值运算符,逻辑运算符(布尔运算),比较运算符(关系运算),位运算符
自增与自减运算,三目运算符
1.算数运算符及其表达式
加+减-乘*除/
比如:int sum=100+200-80+12*10/3;//结果是340+3->343
double salary=2500+5500+11/3.0;结果为8003.666
%取余(模):一般是两个整数进行取余运算,两个整数取余运算,取的是两个整相除以后的余数。
比如:10%3->1 0%10->0 2%5->2
2.赋值运算符
=:赋值运算,将一个值给左边的变量
比如:int level = 98;
//以下为组合式的赋值运算符
+=;赋值运算,将右边值跟之前变量相加后在赋回给变量
int level +=10;//相当于level=level+10;//结果是108;
-=:赋值运算,将右边值跟之前变量相减后在赋回给变量
比如:int a=20;
a-=5;//结果为15,相当于a=a-5;
*= :赋值运算,将等号右边的变量值跟之前的变量值相乘后再赋回给变量
比如:int b=20;
b*=5;//结果为100,相当于b=b*5;
/=:赋值运算,将右边值跟之前变量相除后在赋回给变量
比如:int c=20;
c/=3;//结果为6,相当于c=c/3;
double d=12;
d/=5;//结果为2.4,相当于d=d/5;
%=:赋值运算,将右边值跟之前变量相取余后在赋回给变量
比如:int e=21;
e%=6;//结果为3,相当于e=e%6;
3.逻辑运算符(布尔运算)
4.比较运算符(关系运算)l整数
5.位运算符
6.自增与自减运算
7.三目运算符1
/** *一、算术运算符与赋值运算及逻辑运算符 */ public class MyCalc{ public static void main(String[] args){ 1.算数运算符 Systemout.printle("-----1.算术运算符------") int x=10+20*10-80+12/5;//两个整数相除/取整数 System.out.println("x="+x);//结果是132 int y =12/7; System.out.println("y="+y);//结果是1 float z=12/5; System.out.println("z="+z);//结果是2.0 float m=12/5.0f;//两数相除,如果有float型小数,则结果也为float型 System.out.println("m="+m);//结果是 double n=12/5.0;//两数相除,如果有double型小数,则结果也为double型 System.out.println("n="+n);//结果是 2.赋值运算 Systemout.printle("-----2.赋值运算符------") int a =10//初始化,声明并赋初值 a*=5;//结果为50,相当于a = a*5; a/=2;//结果为25,相当于a = a/5; a%=6;//结果为1,相当于a = a%5; System.out.println("a="+a);结果为1 3.逻辑运算(布尔运算),一般是将关系运算的结果串起来进行运算 Systemout.printle("-----3.逻辑运算符------") //运算有:逻辑与&&,逻辑或||,逻辑非! //3.1逻辑与&& //两个布尔值(逻辑值,又称真假值)相与,只要其中一个值为假,则整个式子为假 //所有数值全真时式子才为真 boolean flag=true&&true;//结果为真true boolean flag1=true&&false;//结果为false boolean flag2=false&&false;//结果为false System.out.println("flag="+flag); System.out.println("flag1="+flag1); //3.2 逻辑或|| //两个布尔值(逻辑值,又称真假值)相或,只要其中一个值为真,则整个式子为真 //所有数值全假时式子才为假 boolean fg=true||true;//结果为真true boolean fg1=true||false;//结果为真true boolean fg2=false||false;//结果为false System.out.println("fg="+fg); System.out.println("fg1="+fg1); //3.3 逻辑非!,将一个结果为逻辑值(布尔值)取反 boolean f=!fg;//结果为真true boolean f1=!fg1;//结果为false boolean f2=!fg2;//结果为false System.out.println("f="+f);//结果为false //3.4复杂的逻辑表达式 boolean temp=(100>20)&&(9<20);//结果true boolean tp=(10>21)&&(9<20);//结果假 boolean t=(10>21)||(9<20);//结果真 System.out.println("t="+t);//结果为true 4.关系运算,比较大小,>,>=,<,<=,!=,==, //关系运算表达式的结果为布尔值(真true/假false) } }
/**
*二、赋值运算
*/
public class MyCalc2{
public static void main (String[]args){
System.out.println("------1.赋值运算-------");
1.赋值运算
int a,b,c=200;
a=10;
b=25;
int x=35;
x=x/5;//结果为7
x/=2;//结果为3,7/2->3,此式也就是x=x/2;
int y=21;//给y赋初值为21;
y%=8;//结果为5,也就是21除以8取余数为5;
System.out.println("y%=8的结果:"+y);
2.逻辑运算
System.out.println("------2.逻辑运算-------");
boolean f =true;
//2.1逻辑与
//flase&&true&&true->flase
f =flase&&(9>7)&&(10>9);//结果为flase;
System.out.println("f="+f);//结果为flase;
//随堂练习,请列举有两个逻辑与运算,结果为ture的案例,输出结果值;
boolean ff=true&&(11>6)&&(12<16);//结果为rue;
System.out.println("ff="+ff);//结果为rue;
//2.1逻辑或
boolean g=false||(9<7)||(10>9);//结果为true;
System.out.println("g="+g);//结果为rue;
//随堂练习,请列举有两个逻辑或运算,结果为flase的案例,输出结果值;
boolean temp=(9<7);
boolean gg=false||temp||(10<9);//结果为flase;
System.out.println("gg="+gg);//结果为flase;
//2.1逻辑非
boolean fff=!g;//结果为flase,(g的之前得值true,取非为flase)
System.out.println("fff="+fff);//结果为flase;
}
}
/**
*三、关系运算,比较运算,结果是布尔型
*/
public class MyCalc3{
public static void main (String[]args){
1.关系运算符,又称计较运算,类似不等式,关系运算符组成的式子成为关系表达式,他的结果为布尔型(ture/false),<,<=,>,>=,==,!=
boolean b1=100>98;//结果为真
//此处为组合表达式,又称为复合表达式
boolean b2=(990<1200&&139>110);//结果为真
boolean b3=(3<=3);//结果为真
boolean b4=(90==100);//结果为假
boolean b5=(100==100);//结果为真
boolean b6=(true==false);//结果为假
boolean b7=(100!=100);//结果为假
boolean b8=(98!=100);//结果为真
//随堂练习,输出以上的结果值
System.out.println("b1="+b1);
System.out.println("b2="+b2);
System.out.println("b3="+b3);
System.out.println("b4="+b4);
System.out.println("b5="+b5);
System.out.println("b6="+b6);
System.out.println("b7="+b7);
System.out.println("b8="+b8);
}
}
/**
*四、自增与自运算,三目运算减
*/
public class MyCalcs4{
public static void main(String[]args){
//1.自增运算符++, 自减运算符--,为了某一个整型变量自身加一的那个表达式。
int x=9;
x=x+1;//10
x+=1;//11
++x;//12,相当于x=x+1
x++;//13,相当于x=x+1
System.out.println("x是,"+x);
int y=10;
y=y-1;//9
y-=1;//8
--y;//7
y--;//6
System.out.println("y是,"+y);
//自增或自减1运算符,在他们但使用不予其他变量组合运算时,++或--在变量在前或后作用是一样的。
/2.三目(有三个部分)运算符
//格式:关系表达式或布尔变量 A?B : C ;当A为真拿B值,当A为假时拿C值。
System.out.println("--------2.三目运算符-------")
//当前边关系表达式结果为真,或假时的取值,这里是为真的取值,结果为"你好"
String info = (100<120)?"你好":"你是谁";
System.out.println("拿到,"+info);
String inf = (150<120)?"天气冷":"天气热";
System.out.println("拿到,"+inf);
int result (18<11)?10:12;//去12
System.out.println("再拿到,"+result);
}
}
/**
*了解即可
*五、位运算符,将某一个字节的数据转换成二进制来进行位的运算。
*运算符有按位与&,按位或|,按位异或^,按位左移<<,按位右移>>.
*/
public class MyCalcs5{
public static void main(String[]args){
// 1.按位运算 按位与&,按位或|,按位异或^,按位左移<<,按位右移>>.
// 比如:13这个数来进行各种位运算
byte temp=13;
byte tmp=11;
//00001101&00001011
//两数整型数据(long型除外)进行运算(包括按位运算)结果一律为int型
int rs=temp&tmp;
System.out.println("按位与结果:"+rs);
int rs1 =temp|tmp;
System.out.println("按位或结果:"+rs1);
//按位左移,按位右移
int num =11;
//1.1一个整数转成二进制数向左移,相当于乘法,是:变量*2^(移位数)
int n =num<<3;
// 1.2一个整数转成二进制数向右移,相当于除法,是:变量/2^(移位数)
int n1=num>>2;
System.out.println("按位左移:"+n);//按位左移:88
System.out.println("按位右移:"+n1);//按位右移:2
}
}