变量和数据类型
1.变量
1.内存就是电脑内的数据空间,不同数据存入具有不同内存地址的空间。相互独立。
2.如何找到存入的数据?

找变量名
3.变量命名规则
字,下,美,人,数,骆驼
字:字母
下:下划线
美:美元符号$
人:人民币符号¥
必须是以上开头
后续只能是字,下,美,人,数
数:数字
骆驼:骆驼命名法或者驼峰命名法。开头后面每一个单词的首字母大写。
变量名字有多个单词组成时,第一个单词首字母大写,之后每个单词的首字母大写。
变量名要有意义
取变量名不要用汉语
不能使用关键字

2.java常用数据类型


1.数据类型分为数值与非数值
数值又分为
整型(int)
非整型(double双精度浮点数 folat单精度浮点数)
非数值
char字符型 单个字符
boolean布尔型(true false)
String字符串


3.变量声明及使用

1.声明变量:给变量起一个名字个名字 int money
2.赋值:money=1000;
=为将后面的赋值给前面
可以合并为一句话 int money=1000
4.常量

1.不会变的量,常量要全大写。
2.变量前面加上final,变成常量。
final double PAI=3.14
在double PAI=3.14;的前面加上final,让它变成了常量
3.两个字符之间用下划线分隔
final double GOOD_UP=100;
5.Scanner的使用
1.需要给用户开一个通过键盘录入程序的入口
Scanner input = new Scanner(System.in);
//重点
程序键盘需要录入所开的口:Scanner
入口名字input(变量名可以随便改)
但是现在是报错的状态。
需要在class前面写👇
import java.util.*;
这句话意思为上面的Scanner位于java.util这个包里面。相当于导入这个java.util,后面的*意思为把这个包里面的所有东西导入进来。
之后在下面写
String name =input.next();
next为下一个这句的意思为下一个,下一个输入的是需要输出的
//导入一个包
import java.util.*;
// 需要给用户开一个通过键盘录入程序的入口 input
Scanner input = new Scanner(System.in);
//使用input获得字符串
System.out.println("请输入姓名:");
String name =input.next();
Scanner只能输出字符串不能输出字符。
nextInt可以输出整数,输出整数时,将next变为nextInt。
输入年龄是为整数
System.out.println("请输入年龄:");
int age =input.nextInt();
将String变为int,next变为nextInt。
输入成绩为小浮点
System.out.println("请输入成绩:");
double score = input.nextDouble();
将String变为double,next变为nextDouble。
使用用户键盘录入步骤:
1.引入包import java.util.*;
-
// 需要给用户开一个通过键盘录入程序的入口 input Scanner input = new Scanner(System.in);
3.使用iinput获取用户键盘录入的数据
字符串
System.out.println("请输入姓名:");
String name =input.next();
整数
System.out.println("请输入年龄:");
int age =input.nextInt();
浮点数
System.out.println("请输入成绩:");
double score = input.nextDouble();
没有nextChar。
6.数据类型的使用

// 数据类型: //数值(整型int 浮点float\double)
// 非数值(字符串String双引号 字符char单引号 布尔型boolean取值true、false)
//除了String之外的数据类型都叫基本数据类型
//String叫做引用数据类型
//浮点数默认是double
double num2=1.0;
float num3=1.0f;
double比float用的广,如果想用float表示浮点数,需要在后面加上f。
int num1 = 10;
double num2 = 9.8;
float num3 = 1.8f;
//当表达式中有一个为double时,整个结果提升为double
//强制类型转换,报错原因,把double赋值给int
int num4=num1-num2
当表达式中有一个为double时,整个结果提升为double
int num4=num1-num2报错
报错原因,把double赋值给int
要把double变成int,在前面加(int)完成一个强制转换
int num4=num1-(int)num2
强制转换结束后,double变为int,小数点后所有被抹除。
强制转化就是把数据类型范围大(double)的变为数据类型小的(int)
自动转换
//自动类型转换 int直接赋值给double
//本身范围大的赋值给范围小的直接转换
num2 = 100;
本身范围大的可以直接赋值给小的
num2 = 100;
7.转换规则

double firstAvg=81.29;//第一次平均分
double secondAvg: //第二次平均分
int rise=2;
secoundAvg=firstAvg+rise;
System.out.println("第二次的平均分是"+secondAvg)
double firstAvg=81.29;给firstAvg赋值一个81.29,因为是小数,所以用double。
double secondAvg:最终要求的式子。
System.out.println("第二次的平均分是"+secondAvg)最终输出的是secondAvg。+secondAvg
int rise=2;是整型
secoundAvg=firstAvg+rise;后面的int整型自动变成double。
8.赋值运算符

=作用赋值右边的值或者表达式赋值给左边,顺序是从右向左。
int rise=2,2赋值给rise

public static void main(String[] args) {
int num1=8;
int num2=9;
System.out.println("交换前:");
System.out.println("num1:"+num1);
System.out.println("num2:"+num2);
System.out.println("num1:"+num1);
"双引号"内输出的是字符串本身,外面用+链接的num1输出的是赋的值。
int num3=num1;
num1=num2;
num2=num3;
System.out.println("交换后:");
System.out.println("num1:"+num1);
System.out.println("num2:"+num2);
找一个中间的临时变量num3先储存num1的值
然后再进行交换
9.算数运算符

int num1 =9;
int num2=2;
int num3=num1/num2;
int num4=num1%num2;
System.out.println("num1/num2:"+num3);
System.out.println("num1%num2:"+num4);
/除法只要商,%余数取余数。
int num1 =9;
System.out.println(++num1);
//num1=num1+1 结果10
++为自加,原本数值+1。
int num2=2;
System.out.println(--num2);
//num1=num1-1 结果1
--为自减,原本数值-1。
System.out.println(num1++);//num1=num1+1
System.out.println(num2--);//num1=num1-1
++和--可以写在变量或者表达式的后面。
System.out.println(num1++);//num1=num1+1 结果9
System.out.println(num2--);//num1=num1-1 结果2
写在前后是有区别的
++或--,在前,先自加或自减,在运算
++或--,在后,先运算,再自加或自减,会先输出,输出之后再自加或自减,所以输出的是原来的数值。

+=,-=都是一个运算符
int num1 =9;
num1 += 2; //在自身的基础上+2之后赋值给num1
System.out.println(num1);

5%2=1 5/2=2
num1=6 num2=1
10.算数运算符综合应用
import java.util.*;
public static void main(String[] args) {
//输入一个四位会员卡号,控制台计算会员卡号的各位数,并计算数之和。
//Scanner 用法先开一个口子
Scanner input = new Scanner(System.in);
//输出语句请输入一个四位会员卡号
System.out.println("请输入一个四位会员卡号:");
//输入的卡号是整数用int 与nextInt input获得输入的卡号并且输出
int no =input.nextInt();
//输出卡号
System.out.println("会员卡号是:"+no);
//8369 取出个十百千的数值
int num1=no%10;
int num2=no/10%10;
int num3=no/100%10;
int num4=no/1000;
int num5=num1+num2+num3+num4;
//用余10的方法拿到个位
System.out.println("卡号的个位数:"+num1);
//用先除10再对商取余拿到十位
System.out.println("卡号的十位数:"+num2);
//用先除100再对商取余拿到百位
System.out.println("卡号的百位数"+num3);
//用除1000的方法拿到千位
System.out.println("卡号的千位数"+num4);
System.out.println("会员卡号个位数:"+num1+"十位数:"+num2+"百位数:"+num3+"千位数:"+num4);
System.out.println("卡号四位总数:"+num5);
11.关系运算符

关系表达式的结果为布尔值
==是等于运算符
12.逻辑运算符

逻辑运算符用于连接两个表达式或者两个操作数的

短路后不继续进行,第二个++x不会运算所以第二个式子中X为8+1=9
12.条件运算符

条件?表达式1:表达式
如果条件是true正确的,输出第一个表达式,如果是错误的输出第二个表达式。
import java.util.*;
//判断一个属是否为偶数(能被2整除的数)
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个非0的数字:");
int num = input.nextInt();
String result =(num%2==0)?"偶数":"奇数";
System.out.println(num+"是"+result);
}
}


import java.util.*;
public static void main(String[] args) {
//输入一个四位会员卡号,控制台计算会员卡号的各位数,并计算数之和,之后根据和的大小计算有没有中奖
Scanner input = new Scanner(System.in);
System.out.println("请输入一个四位会员卡号:");
int no =input.nextInt();
//输出卡号
System.out.println("会员卡号是:"+no);
int num1=no%10;
int num2=no/10%10;
int num3=no/100%10;
int num4=no/1000;
int num5=num1+num2+num3+num4;
System.out.println("卡号的个位数:"+num1);
System.out.println("卡号的十位数:"+num2);
System.out.println("卡号的百位数"+num3);
System.out.println("卡号的千位数"+num4);
System.out.println("会员卡号个位数:"+num1+"十位数:"+num2+"百位数:"+num3+"千位数:"+num4);
System.out.println("卡号四位总数:"+num5);
String result=(num5>10)?"您中奖了":"您没中奖";
System.out.println("卡号为"+no+"的会员"+result);
}
本文详细介绍了Java中的变量和数据类型,包括变量的定义、命名规则、常用数据类型及其用法,以及变量的声明和赋值。此外,还讲解了Scanner类的使用,如何从用户键盘获取输入数据,以及数据类型的转换规则和算术、关系、逻辑运算符的应用。
1264

被折叠的 条评论
为什么被折叠?



