变量分类(局部变量,成员变量,静态变量)
成员变量(也叫实例变量 member variable) 方法外部,类的内部定义的变量。从属于对象,生命周
期伴随对象始终;
静态变量(类变量static variable):使用static定义。从属于类,生命周期伴随类始终,从类加载到
卸载。
局部变量(local variable):方法或语句快内部定义的变量,生命周期是从声明位置开始到方法或语句
块执行完毕为止;
public class TestVariable{
int a ; //成员变量,成员变量会自动被初始化
static int size; //静态变量,从属于类
public static void main(String[] args){
{
int age;
age= 18;
}
int salary= 3000; //局部变量
int gao = 13;
System.out.println(gao);
int i;
// int j=i+5;//编译出错,变量i还未被初始化
}
}
常量(Constant)so easy
成员变量(也叫实例变量 member variable) 方法外部,类的内部定义的变量。从属于对象,生命周
期伴随对象始终;
静态变量(类变量static variable):使用static定义。从属于类,生命周期伴随类始终,从类加载到
卸载。
局部变量(local variable):方法或语句快内部定义的变量,生命周期是从声明位置开始到方法或语句
块执行完毕为止;
public class TestVariable{
int a ; //成员变量,成员变量会自动被初始化
static int size; //静态变量,从属于类
public static void main(String[] args){
{
int age;
age= 18;
}
int salary= 3000; //局部变量
int gao = 13;
System.out.println(gao);
int i;
// int j=i+5;//编译出错,变量i还未被初始化
}
}
常量(Constant)so easy
数据类型:
一:基本数据类型:1数值型:(1)整数类型(byte(1字节),short(2字节),int(4字节),long(8字节)
(2)浮点类型(float(4字节),double(8字节))
2字符型:(char (2字节))例:‘a'
3布尔型:(boolean(内存中占一位)) 只有 true 和 false
二:引用数据类型(4字节):类(class) 接口(interface) 数组
Java 语言整型常量的四种表示形式:
1.十进制整数
2.八进制整数:要求以0开头 如:015
3.十六进制数:要求0x或0X开头 如:0x15
4.二进制数:要求0b或0B开头, 如:0b01110011
Java语言的整型常数默认为int型,声明long型常量可以后加’I‘或’L‘
转义字符:/n换行 ; /r回车;/d退格
char a= 'i'; //字符用char
String a= "i"; //字符串用string
boolean:
boolean flag;
flag = true;
if(flag){
//true分支
}else{
//false分支
}
一:基本数据类型:1数值型:(1)整数类型(byte(1字节),short(2字节),int(4字节),long(8字节)
(2)浮点类型(float(4字节),double(8字节))
2字符型:(char (2字节))例:‘a'
3布尔型:(boolean(内存中占一位)) 只有 true 和 false
二:引用数据类型(4字节):类(class) 接口(interface) 数组
Java 语言整型常量的四种表示形式:
1.十进制整数
2.八进制整数:要求以0开头 如:015
3.十六进制数:要求0x或0X开头 如:0x15
4.二进制数:要求0b或0B开头, 如:0b01110011
Java语言的整型常数默认为int型,声明long型常量可以后加’I‘或’L‘
转义字符:/n换行 ; /r回车;/d退格
char a= 'i'; //字符用char
String a= "i"; //字符串用string
boolean:
boolean flag;
flag = true;
if(flag){
//true分支
}else{
//false分支
}
运算符:
算术运算符:+ ,-, *, /,%, ++,--;
赋值运算符:=
扩展运算符:+=,-=,*=,/=;
关系运算符:>, <, >=, <=, ==, !=, inst, anceof
逻辑运算符:&&,||,!,^
位运算符:&,|,^,~, <<,>>,>>>
条件运算符:?:
字符串连接符:+
整数运算:
1.如果两个操作数有一个为long,则结果也为long,
2.没有long时,结果为int。即使操作数全为short,byte,结果也是int.
浮点运算:
3.如果两个操作数有一个为double,则结果为double。
4.只有两个操作数都是float,则结果才为float。
取模运算:操作数一般使用整数,结果是“余数”,“余数”符号和左边操作数相同,如:7%3=1,-7%3=-1
,7%-3=1。
赋值和赋值扩展运算符:
+= a+=b a=a+b
-= a-=b a=a-b
*= a*=b a=a*b
/= a/=b a=a/b
%= a%=b a=a%b
字符串连接: int a =3+7; syso (a=10)
String a= 3+"7"; syso (a=37)不同类型的,+ 作为连接符
条件运算符:(三个方法)
int score =80;
int x = -100;
String type = score<60?"不及格":"及格";
System.out.println(type);
if(score<60){
System.out.println("不及格");
}else{
System.out.println("及格");
}
System.out.println(x>0?1:(x==0?0:-1));
运算符优先级:其它不需要记,逻辑非>逻辑与>逻辑或、
字符类型自动转化: 只能容量小的向容量大的转换
int a= 234;
long b= 'a';
double d = b;
float f= 2342342l;
byte b2= 123;
注意计算大数据时是否会“溢出”。
使用scanner获得键盘的输入:
import java.util.Scanner;
算术运算符:+ ,-, *, /,%, ++,--;
赋值运算符:=
扩展运算符:+=,-=,*=,/=;
关系运算符:>, <, >=, <=, ==, !=, inst, anceof
逻辑运算符:&&,||,!,^
位运算符:&,|,^,~, <<,>>,>>>
条件运算符:?:
字符串连接符:+
整数运算:
1.如果两个操作数有一个为long,则结果也为long,
2.没有long时,结果为int。即使操作数全为short,byte,结果也是int.
浮点运算:
3.如果两个操作数有一个为double,则结果为double。
4.只有两个操作数都是float,则结果才为float。
取模运算:操作数一般使用整数,结果是“余数”,“余数”符号和左边操作数相同,如:7%3=1,-7%3=-1
,7%-3=1。
赋值和赋值扩展运算符:
+= a+=b a=a+b
-= a-=b a=a-b
*= a*=b a=a*b
/= a/=b a=a/b
%= a%=b a=a%b
字符串连接: int a =3+7; syso (a=10)
String a= 3+"7"; syso (a=37)不同类型的,+ 作为连接符
条件运算符:(三个方法)
int score =80;
int x = -100;
String type = score<60?"不及格":"及格";
System.out.println(type);
if(score<60){
System.out.println("不及格");
}else{
System.out.println("及格");
}
System.out.println(x>0?1:(x==0?0:-1));
运算符优先级:其它不需要记,逻辑非>逻辑与>逻辑或、
字符类型自动转化: 只能容量小的向容量大的转换
int a= 234;
long b= 'a';
double d = b;
float f= 2342342l;
byte b2= 123;
注意计算大数据时是否会“溢出”。
使用scanner获得键盘的输入:
import java.util.Scanner;
//测试键盘的输入
public class scanner {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入名字");
String name = scanner.nextLine();
System.out.println("请输入你的爱好");
String favor = scanner.next();
System.out.println("请输入你的年龄");
int age= scanner.nextInt();
System.out.println("#######");
System.out.println(name);
System.out.println(favor);
System.out.println("来到地球的天数:"+age);
}
}
public class scanner {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入名字");
String name = scanner.nextLine();
System.out.println("请输入你的爱好");
String favor = scanner.next();
System.out.println("请输入你的年龄");
int age= scanner.nextInt();
System.out.println("#######");
System.out.println(name);
System.out.println(favor);
System.out.println("来到地球的天数:"+age);
}
}
控制语句和现实逻辑的应用:
任何软件和程序,小到一个练习,大到一个操作系统,本质上都是由“变量,选择语句,循环语句”组成
任何软件和程序,小到一个练习,大到一个操作系统,本质上都是由“变量,选择语句,循环语句”组成
if单选择结构
if-else双选择结构
if-else if-else多选择结构
if(布尔表达式){语句1
}else if (布尔表达式){语句2
}else if (布尔表达式){语句3
}……else if (布尔表达式) {语句n}
if-else双选择结构
if-else if-else多选择结构
if(布尔表达式){语句1
}else if (布尔表达式){语句2
}else if (布尔表达式){语句3
}……else if (布尔表达式) {语句n}
public class Test2elseif {
public static void main(String[] args){
int i = (int)(12*Math.random());
System.out.println("学习多少小时"+i+"决定什么样的成就");
if(i<2){
System.out.println("混个温饱");
}else if(i<5){
System.out.println("学有所成");
}else if(i<8){
System.out.println("月薪上万");
}else{
System.out.println("未来不是梦");
}
}
}
public static void main(String[] args){
int i = (int)(12*Math.random());
System.out.println("学习多少小时"+i+"决定什么样的成就");
if(i<2){
System.out.println("混个温饱");
}else if(i<5){
System.out.println("学有所成");
}else if(i<8){
System.out.println("月薪上万");
}else{
System.out.println("未来不是梦");
}
}
}
switch结构
Math类的使用:1.java.lang包中的Math类提供了一些用于数学计算的方法
2.Math.random()该方法用于产生一个0到1区间的double类型的随机数,但是不包括1;
int i = (int)(6*Math.random()); //产生一个[0,5]之间的随机整数
新手雷区:1.如果if语句不写{},则只能作用于后面的第一条语句。
2.强烈建议,任何时候都写上{},即使里面只有一句话!
//测试选择语句
public class Test1 {
public static void main(String[] args) {
double d = Math.random(); //返回(0,1)之间的随机数
System.out.println(d);
int i=(int)(6*Math.random()+1);
System.out.println(i);
if(i<=3){
System.out.println("小");
System.out.println("小小小");
}
System.out.println("##############");
//通过掷3个塞子看看今天的手气如何?
int a=(int)(6*Math.random()+1);
int b=(int)(6*Math.random()+1);
int c=(int)(6*Math.random()+1);
int k= a+b+c;
if (k>15){
System.out.println("手气不错");
}
if(k>=10&&k<=15){
System.out.println("今天手气一般");
}
if(k<10){
System.out.println("今天手气不怎么样");
}
System.out.println("得了"+k+"分");
}
}
Math类的使用:1.java.lang包中的Math类提供了一些用于数学计算的方法
2.Math.random()该方法用于产生一个0到1区间的double类型的随机数,但是不包括1;
int i = (int)(6*Math.random()); //产生一个[0,5]之间的随机整数
新手雷区:1.如果if语句不写{},则只能作用于后面的第一条语句。
2.强烈建议,任何时候都写上{},即使里面只有一句话!
//测试选择语句
public class Test1 {
public static void main(String[] args) {
double d = Math.random(); //返回(0,1)之间的随机数
System.out.println(d);
int i=(int)(6*Math.random()+1);
System.out.println(i);
if(i<=3){
System.out.println("小");
System.out.println("小小小");
}
System.out.println("##############");
//通过掷3个塞子看看今天的手气如何?
int a=(int)(6*Math.random()+1);
int b=(int)(6*Math.random()+1);
int c=(int)(6*Math.random()+1);
int k= a+b+c;
if (k>15){
System.out.println("手气不错");
}
if(k>=10&&k<=15){
System.out.println("今天手气一般");
}
if(k<10){
System.out.println("今天手气不怎么样");
}
System.out.println("得了"+k+"分");
}
}