一、变量定义的注意事项及作用域
1、定义时的注意事项
-
变量名不允许重复定义
-
一条语句可以定义多个变量,但需要使用逗号进行分割,同时还必须是同一个类型的多个变量。
-
变量在使用(如输出)之前,必须进行赋值
定义float变量时,必须在数值后面加上一个F;定义ling变量时,必须在数值后面加上一个L
2、变量的作用域
只在所定义的大括号里面是有用的,即所定义的函数中才有用(主函数的局部变量),其他函数中不能用。
3、江湖命名规则(小驼峰、大驼峰)
(1)小驼峰命名——用于方法、变量的命名
- 约定1 :标识符是-个单词的时候,首字母小写
范例1 : name - 约定2:标识符由多个单词组成的时候,第一 个单词首字母小写,其他单词首字母大写
范例2 : firstName
(2)大驼峰命名法——用于类的命名
- 约定1 :标识符是一个单词的时候,首字母大写
范例1 : School - 约定2 :标识符由多个单词组成的时候, 每个单词的首字母大写
范例2 : HighSchool
二、键盘输入
1、输入步骤
(1)导包:需要写在public class的上面,输入import java.util.scanner;
(2)创建对象:scanner ss = new scanner (Syatem.in) ;
只有ss可以改变,其他都必须严格输入,因为ss是对象名(java可以有多个对象)。
(3)使用变量接收数据,int a = ss.nextInt();
只有a变量可以改变,其他属于固定格式,意思是调用对象ss中的方法nextInt,获取一个int类型变量。
2、练习代码
import java.util.Scanner;
public class Test01{
public static void main(String[] args){
Scanner ss = new Scanner(System.in); //由Scanner类创建一个对象,名为ss
int a = ss.nextInt(); //调用对象ss的方法nextInt,返回结果给int类型变量a
System.out.println(a); //输出变量a
}
}
三、Java运算符
1、运算符与表达式
- 运算符:对常量或者变量进行操作的符号
- 表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。
不同运算符连接的表达式体现的是不同类型的表达式。
2、算数运算符
(1)就是简单的加减乘除(+ - * / %),%是取余,也就是取除法运算结果的余数。
(2)从键盘获取一个四位数整数,将该整数的个位、十位、百位、千位都分别打印出来。
import java.util.Scanner;
public class Test01{
public static void main(String[] args){
Scanner ss = new Scanner(System.in); //由Scanner类创建一个对象,名为ss
int a = ss.nextInt(); //调用对象ss的方法nextInt,返回结果给int类型变量a
System.out.println(a); //输出变量a
//通过运算,得到个位、十位、百位、千位
int u1 = a%10;
System.out.println("个位:" + u1);
int u2 = a/10%10;
System.out.println("十位:" + u2);
int u3 = a/100%10;
System.out.println("百位:" + u3);
int u4 = a/1000%10;
System.out.println("千位:" + u4);
}
}
3、自增、自减运算符
(1)++/–在前,先对变量做自增/自减,再进行其他操作。
++/–在后,先进行其他操作,再对变量做自增/自减。
public class Test01{
public static void main(String[] args){
int a0 = 10;
int b0 = a0++;
System.out.println(a0); //输出变量a0
System.out.println(b0); //输出变量a0
int a1 = 10;
int b1 = a0--;
System.out.println(a1); //输出变量a0
System.out.println(b1); //输出变量a0
}
}
(2)输出时自增
public class Test01{
public static void main(String[] args){
int a0 = 10;
System.out.println("++在前:" + (++a0)); //输出变量a0
System.out.println(a0); //输出变量a0
int a1 = 10;
System.out.println("++在后:" + (a1++)); //输出变量a0
System.out.println(a1); //输出变量a1
}
}
4、赋值运算符
(1)运算符类型
(2)自增/自减会默认转换类型
- 不兼容的类型需要进行强制转换,未强制转化类型,会报错:
short a = 10;
a = a+1;
System.out.println("++在前:" + a); //输出变量
- 修改后:
public class Test01{
public static void main(String[] args){
short a = 10;
a = (short)(a+1);
System.out.println("强制转换之后:" + a); //输出变量
}
}
- 使用赋值运算符的方法则不需要考虑强制转换
public class Test01{
public static void main(String[] args){
short a = 10;
a+=1;
System.out.println("强制转换之后:" + a); //输出变量
}
}
5、关系运算符
(1)包括:>、 <、 ==、 >=、 <=、!=,返回值是一个布尔值,表示true或者false。
(2)测试练习
public class Test01{
public static void main(String[] args){
System.out.println("10>10:" + (10>10));
System.out.println("10<10:" + (10<10));
System.out.println("10==10:" + (10==10));
System.out.println("10>=10:" + (10>=10));
System.out.println("10<=10:" + (10<=10));
System.out.println("10!=10:" + (10!=10));
}
}
6、三元运算符
(1)解析int max = a>b?a:b;
表示如果a>b,则把a的值赋值给max,如果a不是大于b(即b>a),则把b的值赋值给max。
(2)找出三个数的最大值
public class Test01{
public static void main(String[] args){
int a=156, b=32, c=888;
//综合写法(不建议,因为不方便阅读):
int max = (a>b?a:b)>c ? (a>b?a:b):c;
System.out.println("不建议写法:" + max);
//建议写法
max= a>b?a:b;
max= max>c?max:c;
System.out.println("建议写法:" + max);
}
}
7、逻辑运算符
(1)基本运算符:与、或、非、异或(&、|、!、^)
(2)短路逻辑运算符
-
&&短路意思就是,当左边的判断条件为假时,就不执行后面的判断语句,所以后面的自增自减或其他运算等操作都将是无效的。
-
||短路意思就是,当左边的判断条件为真时,就不执行后面的判断语句,所以后面的自增自减或其他运算等操作都将是无效的。
(3)短路练习
public class Test01{
public static void main(String[] args){
int a=5;
int b=10;
System.out.println("&&短路:" + ((++a > 6)&&(b--==9)));
System.out.println("a=" + a);
System.out.println("b=" + b);
int c=5;
int d=10;
System.out.println("||短路:" + ((++c > 5)||(d--==9)));
System.out.println("c=" + c);
System.out.println("d=" + d);
}
}
很显然,变量b和d都被短路了,还是原来的10,没有执行自减运算。