Demo1:用于展示变量的定义和使用
(IDEA中自定义javaDoc设置:File中找到setting->Editor->File and Code Template->File Header)
/**
*@Author:
*@Date: ${DATE} ${TIME}
*@Description:
**/
/**
*javaDoc注释,用于注释类和方法
*作者:
*日期:
*描述:用于展示变量的定义和使用
**/
public class Demo1 {
//主方法入口
public static void main(String[] args){
//实现存银行的操作
//定义变量名和变量类型
int money=1000;
//+作用在字符串和变量之间的情况下是字符串拼接
System.out.println("在银行中存入了:"+money+"元");
money=1050;
System.out.println("余额为:"+money+"元");
}
}
Demo2:变量的声明、赋值
public class Demo2 {
public static void main(String[] args) {
int money;//变量的声明
money=1000;//变量的赋值
double abc=1.2;//变量的声明和赋值
money=1050;//重新赋值
System.out.println(money);//直接打印
double result=money*abc;//计算
//上面这三种都是变量的使用方式
System.out.println(result);
}
}
Demo3:
定义Scanner注意import引入对应的路径
import java.util.Scanner;//声明Scanner来自哪里
public class Demo3 {
public static void main(String[] args){
//1、定义Scanner,import引入对应的路径
Scanner sc=new Scanner(System.in);
//2、提示输入
System.out.println("请输入您的姓名:");
//3、使用变量接收输入
String name =sc.next();
//4、使用接收的数据
System.out.println("输入的姓名为:"+name);
}
}
Demo4:
强制类型转换:从大类型转到小类型,必须进行强制类型转换,而且可能丢失精度
public class Demo4 {
public static void main(String[] args) {
double firstAvg=81.28;
int rise=2;
//精度丢失
int secondAvg=(int)firstAvg+rise;
System.out.println(secondAvg);
}
}
Demo5:三变量交换法
(引入一个临时变量,用于保持交换过程中的值)
public class Demo5 {
public static void main(String[] args) {
//三变量交换法
int num1=8;
int num2=9;
//1、先定义一个临时变量,用于保持交换过程中的值
int tmp;
//2、保存num1的值
tmp=num1;
//3、使用num1接收num2的值
num1=num2;
//4、使用num2接收临时变量中num1的值
num2=tmp;
System.out.println("num1的值为:"+num1+"\nnum2的值为:"+num2);
}
}
Demo6:
a++和++a的关系:都是对a加1
a++是加之前的a的值,++a是加之后的a的值
public class Demo6 {
public static void main(String[] args) {
int a=2;
int b=5;
System.out.println("b对a取余得:"+b%a);
System.out.println("a对b取余的:"+a%b);
System.out.println(a++);
System.out.println(++a);
System.out.println(b--);
System.out.println("b--之后b的值为:"+b);
System.out.println(--b);
System.out.println("--b之后b的值为:"+b);
}
}
Demo7:
逻辑运算符:
&& 逻辑与:A && B 只有当A表达式和B表达式同时为true,则结果为true,否则全部为false
|| 逻辑或:A || B 只有当A表达式和B表达式同时为false,则结果为false,否则全部为true
public class Demo7 {
public static void main(String[] args) {
//布尔值以及关系运算符
boolean result1=5>6;//false
boolean reault2=5<6;//true
System.out.println(result1);
System.out.println(reault2);
//两个表达式都为True的时候才是True
System.out.println(result1 && reault2);//逻辑与
//其中一个为true就为true 都为false才是false
System.out.println(result1 || reault2);//逻辑或
System.out.println(!result1);
}
}
Test1:
注意点:1、char类型必须用单引号
2、float类型后面要加f是规定没有任何含义
3、注意+是算术运算还是字符串拼接(从左向右的规则)
4、scanner不可以输入char类型只能是String类型
import java.util.Scanner;
public class Test1 {
public static void main(String[] args){
//改造把变量值的输入变成控制台输入:
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个小数");
float score = sc.nextFloat();
System.out.println("请输入您的名称:");
String name=sc.next();
System.out.println("请输入您的性别");
String sex=sc.next();
//定义变量并保存数值
//float score=98.5f;
//String name="张三" ;
//char sex='男';
//字符串拼接的情况下用+要注意(从左向右的规则)
System.out.println("Java课考试最高分:"+(score+1));
System.out.println("最高分学员姓名:"+name);
System.out.println("最高分学员性别:"+sex);
}
}
Test2:final定义常量,常量名称全大写
public class Test2 {
public static void main(String[] args) {
//final定义常量,常量名称全大写
final double PI=3.14;
//班级名称,不同单词直接用下划线分割
final String CLASS_NAME_OF_BEIDA_QINGNIAO_ZHONGBO="KB09";
}
}
Test3:取出一个数字各位上的数
1、num/100是取商、int类型
举例:5/2=2 ; 5/2.0=2.5
2、取最高位数字可以%10也可以不%10
//取出一个数字各位上的数
public class Test3 {
public static void main(String[] args) {
int num=19854;
int gewei=num%10;
int shiwei=num/10%10;
int baiwei=num/100%10;
int qianwei=num/1000%10;
int wanwei=num/10000;
}
}
变量命名规则:
字下美人数、骆驼、有意义
字:字母a~z 、A~Z
下:下划线_
美:美元符$(常常用来做系统类型的变量)
——人:人民币符¥(基本上不用)
数:数字0~9
变量命名不能以数字开头
变量名组成由:字下美人数 组成
骆驼:驼峰命名法
className
schoolAddress
addressOfSchool
正常情况下以小写字母开头
和类名作为区分
final定义常量,常量名称全大写,不同单词直接用下划线分割
参考:《java开发手册(泰山版)》
链接:https://pan.baidu.com/s/1oAuIfxxm3eLmxlXXi-wwpA
提取码:0hmp
变量的数据类型:
数值型:
整形:(int,默认值0)
byte,short八位机的出现,int,long
byte范围:-128~127 -2的7次方~2的7次方-1
short范围:-32268~32267 -2的15次方~2的15次方-1
int范围:-2的31次方~2的31次方-1
long范围:…
二进制: 0000 0000 ~ 1111 1111
十进制:-128~127 0~127
非整形:(浮点数)(double,默认值为0.0)
float,(单精度浮点数)
double,(双精度浮点数)
非数值类型:
字符型:char类型必须要用单引号
(\u00 0x00 空字符)
字符0:对应ascii码值48(16进制的ascii值0x30)
字符A:对应ascii码值65(16进制的ascii值0x41)
字符a: 对应ascii码值97(16进制的ascii值0x61)
布尔型:(false)
判断的结果 true false
字符串型:(String:null未定义)不是基本数据类型
数据类型转换:(正常是数值型)
隐式数据类型转换:
从小类型转到大类型,自动就可以转换
强制数据类型转换:
从大类型转到小类型,必须进行强制类型转换,而且可能丢失精度
特殊转换:
所有基本数据类型和字符串相加时,全部转成字符串型
自增和自减:
a++和++a的关系:都是对a加1
a++是加之前的a的值,++a是加之后的a的值
缩略写法:
a+=b; --> a=a+b;
a-=b; --> a=a-b;
! 非 取反
逻辑运算符:
&& 逻辑与:A && B 只有当A表达式和B表达式同时为true,则结果为true,否则全部为false
|| 逻辑或:A || B 只有当A表达式和B表达式同时为false,则结果为false,否则全部为true
! 取反: !A A表达式的值为true时,则为false,反之同理