变量的命名和规则:
看词知意 要使用英文不使用中文 必须以字母,下划线,或$开头
可以包括数字但不能以数字开头 除了_下划线和 外 , 不 能 包 含 其 他 特 殊 字 符 − − − − − − 外,不能包含其他特殊字符------ 外,不能包含其他特殊字符−−−−−−name
变量要先声明并赋值后才可以使用--------调用变量直接使用变量名即可
使用变量的时候不需要引号引用,
列:System.out.print(a) a加双引号加的话表示输出的是字符串,输出的是自己
用scanner接受用户输入的内容:
使用之前要先导入包
import java.util.Scanner;或import java.util.*;
注:用*表示用这个包下的所有类,用Scanner表示只用这一个类
构建Scanner对象
这是语法记住就行。
接受用户输入的方法
nextInt() 接受整型
next () 接受字符串
nextDouble() 接受浮点型
在控制台输入内容后按回车键表示结束。
列:Scanner input = new Scanner(System.in);
System.out.println(”请输入你的名字:“);
String str = input.next();
System.out.println("你好,"+str);
表示input接受了字符串所以要用String表示,要在前面加上System.out.println(”请输入你的名字:“);这样一个内容,同时 input.next();会把值赋给str所以这时要有一个输出 System.out.println(str);
System.out.println(“你好,”+str);这种表示在运行里面输入一个内容前面会加上你好。
java中的常用运算符
算数运算符+ - * / %(表示取模就是求余 5%2=1 6%2=0)
表达式:操作符和操作数的组合(a+b 5+2 5-a)
自加自减(a++ 等价于a=a+1; a-- 等价于 a=a-1;)
列:public static void main(String[] args){
int a = 5; a =a+1;(这里假设a等于6同时也叫累加 这个表达式是从右到左赋值运算 这样太繁琐所以使用a++; a++就是表示自加一累加一 a--一样就是在原有的基础上减一)
}
boolean类型(布尔)
它是逻辑类型并且逻辑只有两个true(表示,是,真,成立 false表示,否,假,不成立 通常用于做判断)
关系运算符(>大于 <小于 >=大于等于 <= 小于等于 ==全等于 !=不等于)
列:public static void main(String[] args){
int a = 5;
int b = 3;
boolean b1 = a > b;
System.out.println(b1);(这样输出的内容就是正确true)
}
数据类型转换
表达式在操作的时候,要求量表数据类型要一致。
自动类型转换(类型提升/隐式转换)
double和int在计算的时候,会把int 先提升为double(2会提升为2.0)
int和int计算的时候,结果还是int(5/2=2他这里其实是取的整数也就是商)
列:public static void main(String[] args){
int a = 2;
double d = 2.5;
System.out.println(5 / 2);
5 / 2 = 2.5 = 2 (取整数部分, 如果把2改成2.0那么输出的结果就是2.5因为他会把int提升为double 在这double除以double还是double)
}
存储范围大的类型,可以接受存储范围小的变量值(double a = 5;),反之小的不能存大的(int age = 2.5是不可以的)
两种类型要兼容(int和double兼容 int和String不兼容)
列:public static void main(String[] args){
System.out.println(5 / 2.0);
5除以2.0输出的肯定是2.5
System.out.println(5 + "2");
这个输出来是52,因为这的加法在做数值判断,如果两边都是数值类型的话它就会直接加,反之它有一边是字符串,此时的加号就是连接的作用所以是52,表现的是一种字符连接的效果,并不是加法,假如把2改成ABC此时输出的就是5ABC。
}
目标类型要大于原类型
强制类型转换:当我们把大类型转换为小类型时,系统不会自动完成。
列:int a = 2.5; 2.5属于大类型int属于小类型 ,所以系统不会自动去完成 ,所以这个时候就需要自己强制取转换(int a = (int)2.5;) 加int简称强转,强转的同时会丢失精度所以输出结果会变成2.
int = (int)22.5 + (int)22.3;此时两个小数之前都要加int,在丢失精度以后得出的结果就是44.
还可以写成int = (int)(22.5 + 22.3);这个是先求和在强转,当然先强转求和跟先求和在强转结果有时不一样。
类型转换语法:int a = (int)22.33;
强制类型转换可能会丢失精度
综合案例
输入矩形的长和宽,求矩形的周长和面积。
package com;
import java.util.scanner;这个是导入的包
public class demo{
public static void main(String[] args){
Scanner input = new Scanner(System.in);这个是构建的对象
int length , width, totallength, area;(先声明变量)
System.out.println("请输入长:");
length = input.nextInt();(这个是接收长,把长的值赋给length变量)
System.out.println("请输入宽:");
width = input.nextInt();
totallength = (length + width)* 2;
area = length * width;
System.out.println("周长是" + totallength);
System.out.println("面积是" + area);
}
}
输入一个三位数,分别求出三个位数的和
package com;
import java.util.scanner;这个是导入的包
public class demo{
public static void main(String[] args){
int num ,bai, shi, ge;
Scanner input = new Scanner(System.in);这个是构建的对象
System.out.println(“请输入一个三位数”);
num = input.nextInt();
bai = num/100;
shi = num/10%10;
ge = num%10;
System.out.println(“bai + shi + ge +”);
}
}
输入语数英,求三门成绩的综合和平均分
package com;
import java.util.scanner;这个是导入的包
public class demo{
public static void main(String[] args){
int chinese, maths , english, sum, average;
Scanner input = new Scanner(System.in);这个是构建的对象
System.out.println(“请输入语文成绩”);
chinese = input.nextInt();
System.out.println(“请输入数学成绩”);
maths = input.nextInt();
System.out.println(“请输入英语成绩”);
english = input.nextInt();;
sum = chinese + maths + english
average = sum / 3;
System.out.println(“总分是:” + sum +" ,平均分是:" + average);
}
}
平均数有时候会出现小数,这个时候可以吧average用double来算(double average;)也可把3写成3.0或者给3前面加上double((double)3;),也可以让sum*1.0 / 3
接收张三李四,判断张三比李四成绩高吗
package com;
import java.util.scanner;这个是导入的包
public class demo{
public static void main(String[] args){
int scorezhangsan, scorelisi;
Scanner input = new Scanner(System.in.);这个是构建的对象
System.out.println(“请输入张三的成绩”);
scorezhangsan = input.nextInt();
System.out.println(“请输入李四的成绩”);
scorelisi = input.nextInt();
boolean = scorezhangsan > zcorelisi;
System.out.println(“张三的成绩要比李四的高吗?”);
}
}
一个篮球25元,要求用户输入购买的数量,最后按八折计算总金额显示出来
package com;
import java.util.scanner;这个是导入的包
public class demo{
public static void main(String[] args){
int count;
double price = 25.0;
double discount = 0.8;
double totalmoney;
Scanner input = new Scanner(System.in);
System.out.println(“请输入需要购买的数量”);
count = input.nextInt();
totalmoney = price count * discount;*
System.out.println(“总金额,” + totalmoney);
}
}
假设有两个变量:int a = 5; int b = 3;,如何交换他们等等值。
package com;
public class demo{
public static void main(String[] args){
int a = 5;
int b = 3;
int c;
System.out.println(“交换前的结果==”);
System.out.println(a);
System.out.println(b);
c = a;
a = b;
b = c;
System.out.println(“交换后的结果==”);
System.out.println(a);
System.out.println(b);
}
}