JAVA基础知识点1
来源:互联网 发布:西安网络写手招聘 编辑:程序博客网 时间:2024/06/05 00:38
JAVA基础知识点1
变量
在 JS 中,通过 var i = 10; i = “abc”; 使用变量,因为没有在声明变量的时候给于数据类型的强制定义,可以给变量赋予任意类型的值。我们把 JavaScript 称为弱类型编程语言。
Java 在声明编程时候,必须准确定义变量的数据类型。
变量声明的语法:
数据类型 变量名;
例如:int a;
变量赋值的语法:
变量名 = 值;
例如:a = 10;
两者可以写在一起:
数据类型 变量名 = 值;
例如:int a = 10;
变量的生命周期
先记住:变量的生命周期在 {} 定义的范围内。
直接量
直接量是指在程序中直接通过源代码的方式指定的值,有时也成为字面量。
在编译的时候,JVM 就定义到常量池中。
比如 int a = 5; 这里的 5 就是一个直接量。
在 Java 中可以定义的直接量包含:基本数据类型、字符串类型、null。
关于 String 类的特殊说明
String 类是一个不可改变类,意思就是在String 对象被创建出来后就不能被改变了。当程序第一次使用某个字符串直接量时,Java 会使用常量池来缓存该字符串直接量。如果后面程序用到了这个字符串直接量,Java 会直接引用常量池字符串。
在常量池中不会存在两个一样的字符串字面量值。
运算符
算术运算符
+ - * / % ++ –
+ 运算符除了进行数学运算的加法之外,还可以做字符串的拼接。
++ 自增
– 自减
实例:
int m = 10;
System.out.println(m++); // 10
System.out.println(m); // 11
System.out.println(++m); // 12
System.out.println(-m); // -12
赋值运算符
= += -= \= *= %=
实例
m += 1; // m = m + 1
System.out.println(m); // 13
m -= 1; // m = m - 1
System.out.println(m); // 12
比较运算符
用于判断两个变量或者常量的大小,返回结果为 true/false。
< <= >= == !=
左右两边的操作数只能是数值
逻辑运算符
运算符两边必须是 boolean 类型的变量、常量、表达式
与 && 或者 || 非 !
与:只要有一个假就是假
或者:只要有一个真就是真
三目运算符
expression ? if-true-statement : if-false-statement
实例:
int age = 16;
String ageStr = age > 18 ? “成年” : “未成年”;
System.out.println(ageStr); // 未成年
结合性和优先级
应该尽量在比较复杂的表达式中使用圆括号,明确的标注计算的优先级。
Java运算符优先级
当多个运算符出现在一个表达式中,谁先谁后呢?这就涉及到运算符的优先级别的问题。在一个多运算符的表达式中,运算符优先级不同会导致最后得出的结果差别甚大。
例如,(1+3)+(3+2)*2,这个表达式如果按加号最优先计算,答案就是 18,如果按照乘号最优先,答案则是 14。
再如,x = 7 + 3 * 2;这里x得到13,而不是20,因为乘法运算符比加法运算符有较高的优先级,所以先计算3 * 2得到6,然后再加7。
下表中具有最高优先级的运算符在的表的最上面,最低优先级的在表的底部。
类别 操作符 关联性
后缀 () [] . (点操作符) 左到右
一元 + + - !〜 从右到左
乘性 * /% 左到右
加性 + - 左到右
移位 >> >>> << 左到右
关系 >> = << = 左到右
相等 == != 左到右
按位与 & 左到右
按位异或 ^ 左到右
按位或 | 左到右
逻辑与 && 左到右
逻辑或 | | 左到右
条件 ?: 从右到左
赋值 = + = - = * = / =%= >> = << =&= ^ = | = 从右到左
逗号 , 左到右
- Java基础知识点1
- JAVA基础知识点1
- java基础知识点汇总1
- 一些知识点:Java基础(1)
- Java知识点复习1基础备忘
- java编程语言基础知识点(1)
- Java基础知识点个人笔记(1)
- 1)Java语法基础知识点(可以借鉴)
- java基础总结知识点
- JAVA基础方面知识点
- java 基础知识点汇总
- java基础面试知识点
- Java基础部分知识点
- java基础知识点考察
- java基础知识点汇总
- java基础知识点积累
- java基础知识点
- java基础知识点
- CCF考试——201709-4通信网络
- C语言实现简易版扫雷
- 复合索引
- 别告诉我你会记笔记评语
- base.jsp
- JAVA基础知识点1
- NOIP2016TGDay1
- [DP of DP]SRM591 900Pts StringPath
- 51nod 1833 环 状压dp+图论
- [2017纪中10-28]序列操作 贪心+线段树/二分
- C++中rand()函数的用法
- [SHOI2009] 会场预约
- [杂题 树状数组] 51Nod1681 公共祖先
- [2017纪中10-28]三元组 贪心+排序/优先队列