一、变量:是用来记住程序处理的数据的。
定义格式:数据类型 变量名称 = 数据;
public class variableDemo1 {
public static void main(String[] args) {
//1.定义一个整数变量记住一个整数
//数据类型 变量名称 = 数据;
//注意: = 在java中是赋值的意思,从右边往左看
int age=23;
System.out.println(age);
//2.记住一个人的成绩
double score=99.5;
System.out.println(score);
//3.使用变量的好处,便于扩展和维护
int number=888;
System.out.println(number);
System.out.println(number);
//4.变量的特点,里面的数据可以被替换
int age2 =18;
System.out.println(age2);
age2=19;//赋值从右往左边执行
System.out.println(age2);
age2=age2+1;//赋值从右往左边执行
System.out.println(age2);
}
}
运行结果:
二、字符数据在计算机是怎么存的?、
字符存的是ASCII码表中对应的数字二进制形式
图片和音视频也采用二进制进行存储
public class ASCIIDemo1 {
public static void main(String[] args) {
//目标,掌握ASCII编码表的编码特点
System.out.println('a'+10);//97+10=107
System.out.println('A'+10);//65+10=75
System.out.println('0'+10);//48+10=58
//二进制、八进制、十六进制在程序中的写法
int a1=0B01100001;
System.out.println(a1);
int a2=0141; //0开头的数据当成八进制看待
System.out.println(a2);
int a3=0XFA; //0X开头的数据是十六进制
System.out.println(a3);
}
}
运行结果:
二进制:
十进制数转二进制数:除二取余法。
二、数据类型
基本数据类型:整型:byte,short ,int(默认),long(用它加L/l)
浮点型:float, double(默认)
字符型:char
布尔型:boolean
引用类型:String
自动类型转换:类型范围小的可以直接赋值给类型范围大的变量。
byte---short----int-----long---float----double (char(2)---int(4)
public class typedemo {
public static void main(String[] args) {
//目标;理解自动类型转换机制
byte a=12;
int b=a;//发生了自动类型转换
System.out.println(a);
System.out.println(b);
int c=100;//4
double d=c;//8 发生了自动类型转换
System.out.println(d);
char ch='a';//'a' 97==>00000000 01100001
int i=ch; //发生了自动转换==>00000000 00000000 00000000 01100001
System.out.println(i);
}
}
运行结果:
表达式的自动类型转换
byte,short,char,----int-----long---float----double
注意:表达式的最终结果类型由表达式中的最高类型决定。
在表达式中,byte,short,char是直接转换成int类型参与运算的
public class typedemo2 {
public static void main(String[] args) {
//目标掌握表达式自动转换类型机制
byte a=10;
int b=20;
long c=30;
long rs=a+b+c;
System.out.println(rs);
double rs2=a+b+1.0;
System.out.println(rs2);
byte i=10;
short j=30;
int rs3=i+j;
System.out.println(rs3);
//面试题
byte b1=10;
byte b2=90;
int b3=b1+b2;
System.out.println(b3);
}
}
运行结果:
强制类型转换
大范围类型变量====>小范围类型变量
数据类型 变量2=(数据类型)变量1、数据
注意:强制类型转换可能造成数据丢失
浮点型强转成整型,直接丢掉小数部分,保留整数部分返回
public class typedemo3 {
public static void main(String[] args) {
//目标,掌握强制类型转换
int a=20;
byte b= (byte) a;//报错选(alt+enter),强制类型转换
System.out.println(a);
System.out.println(b);
int i=1500;
byte j= (byte) i;
System.out.println(j);
double d =99.5;
int e= (int) d;//强制类型转换
System.out.println(e);//丢掉小数部分,保留整数部分
}
}
运行结果:
自增自减
public class lx1 {
public static void main(String[] args) {
int i=10;
int rs=++i;//先加后用
System.out.println(rs);
System.out.println(i);
int j=10;
int rs2=j++;//先用后加
System.out.println(rs2);
System.out.println(j);
}
}
运行结果:
扩展赋值运算符
public class lx2 {
public static void main(String[] args) {
//掌握扩展赋值运算符的使用
//+=
//需求:收红包
double a=9.5;
double b=10;
a+=b; //a=(double)(a+b)
System.out.println(a);
int m=10;
int n= 2;
m*=n;//m=(int)(m*n)
System.out.println(m);
}
}
运行结果:
逻辑运算符
public class lx3 {
public static void main(String[] args) {
//目标掌握逻辑运算符
//需求:要求手机必须满足尺寸大于等于6.95,且内存必须大于等于8
double size=6.8;
int storage=16;
//1.& 前后的结果必须都是true 结果才是true
boolean rs=size>=6.95 &storage >=8;
System.out.println(rs);
//需求:要求手机必须满足尺寸大于等于6.95,且内存必须大于等于8
//2. | 只要多个条件中有一个是true,结果就是true
boolean rs2=size>=6.95 | storage >=8;
System.out.println(rs2);
//3. ! 取反
System.out.println(!true);//false
System.out.println(!false);//true
System.out.println(!(2>1));//false
//4. ^ 异或 前后的结果相同时返回false ,不同时返回true
System.out.println(true ^true);//false
System.out.println(false^false);//true
System.out.println(true^false);//true
System.out.println(false^true);//true
//5.&& 左边为false,右边不执行
int i=10;
int j=20;
System.out.println(i>100 && ++j>99);//左边为false,所以不执行 j=20
System.out.println(i>100 & ++j>99);//false j+1=21
System.out.println(j);
//6.|| 左边为true,右边不执行
int m=10;
int n=30;
System.out.println(m>3|| ++n >40);//左边为true ,右边不执行 n=30
System.out.println(m>3 | ++n >40);//左边为true,还是会执行 n=n+1 n=31
System.out.println(n);
}
}
运行结果:
三元运算符
public class lx4 {
public static void main(String[] args) {
//目标:掌握三元运算符
double score=98.5;
String rs=score>=60 ? "成绩及格":"成绩不及格";
System.out.println(rs);
//需求:找出2个整数中的较大值,并输出
int a=99;
int b=67;
int max=a>b?a:b;//真前假后
System.out.println(max);
//3.找出2个整数中的较大值,并输出
int i=10;
int j=45;
int k=35;
//找出2个整数中的较大值
int temp=i>j ? i:j;
//找出temp和k中的较大值
int max2=temp>k?temp:k;
System.out.println(max2);
System.out.println(10>3 || 10>3 && 10<3);//true &&的优先级大于||
System.out.println((10>3 || 10>3) && 10<3);//false 先执行()()的优先级最高
}
}
运行结果:
使用Scanner接受用户就键盘输入的数据
import java.util.Scanner;
public class lx5 {
public static void main(String[] args) {
//1.导包 ,一般不需要自己做,idea工具会自动帮助导包
//2.抄写代码,得到一个键盘扫描器对象
Scanner sc=new Scanner(System.in);
//3.开始,调用sc的功能,来接收用户键盘输入的数据
System.out.println("请输入你的年龄:");
int age =sc.nextInt();//执行到这儿,会开始等待用户输入一个整数,直到用户按了回车键,才会拿到数据
System.out.println("你的年龄是:"+age);
System.out.println("请输入你的名字:");
String name=sc.next();//执行到这儿,会开始等待用户输入一个字符串,直到用户按了回车键,才会拿到数据
System.out.println(name+"欢迎你进入系统——————————————");
}
}
运行结果: