运算符
算数运算符:+、-、*、/、&、++、--
关系运算符:== != < > <= >=
逻辑运算符:& | ! && ||
按位运算符:& | ^ ~ << >> >>>
赋值运算符:= += -= *= /= %= &= |= ^= <<= >>= >>>=
条件运算符:?
instanceof运算符:instanceof
new运算符:new
.运算符:.
运算符有优先级,不用过多记忆,不确定时可以使用小括号,小括号优先级最高
算术运算符
+:求和,字符串拼接,正数
-:相减,负数
*:乘积
/:商(除以)
%:取模(求余数) 公式:x-x/y*y
++:让变量自身加一 ++放变量前,先+再赋值,放变量后,先赋值,再自加
--:让变量自身减一 =-5963 --同上
接受用户输入
java.util.Scanner s =new java.util.Scanner(System.in) ; //创造一个键盘扫描器s,s是变量名
int num=s.nextInt();//停止等待输入,输入后敲回车,该行结束,s.nextIn()会专门从键盘上扫描int类型的数字,然后赋值给num。即数据从控制台到内存。
double num2=s.nextDouble();//接受一个double类型的
String num3=s.next(); //从键盘上接收一个字符串,接收第一个空格之前的内容
String num4=s.nextLine(); //从键盘上接收一个字符串,接收第一个换行符\n之前的内容
栈数据结构(stack)
栈结构特点:
先进后出,后进先出
fg
字节码解读
查看字节码命令:javap -c 类名.class
public class sbian
{
public static void main(String[] srgs){
int i=10;
}
}
D:\java code>javap -c sbian.class
Compiled from "sbian.java"
public class sbian {
public sbian();
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: return //以上是结构方法
public static void main(java.lang.String[]); //此处是main方法
Code:
0: bipush 10 //将10压入操作数栈
2: istore_1 //将操作数栈顶元素弹出,存储到局部变量表的1号槽位
3: return
}
Java语言中,任何一个方法执行时,都会专门为这个方法分配所属的存储空间,供这个方法使用。一个叫局部变量表(存储局部变量),一个叫操作数栈(存储程序运行过程中参与运算的数据)
public class sbian
{
public static void main(String[] srgs){
int i=10;
int j=i;
}
}
public class sbian
{
public static void main(String[] srgs){
int i=10;
int j=i;
j++
}
}
public class sbian
{
public static void main(String[] srgs){
int i=10;
int j=i++;
}
}