Java笔记_02(Java基础语法,运算符)
一、Java基础语法
1.1、注释
- 注释概念:注释是在程序指定位置添加的说明性信息,简单理解,就是对代码的一种解释
- 注释分类
- 注释的注意事项
- 注释的内容不会参与编译和运行,仅仅是对代码的解释说明
- 不管是单行注释还是多行注释,在书写的时候都不要嵌套
1.2、关键字
被Java赋予了特定涵义的英文单词
- 关键字的特点
- 关键字的字母全部小写
- 常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观
class
关键字
class
关键字表示定义一个类,后面跟随类名
1.3、字面量
告诉程序员:数据在程序中的书写格式
- 字面量类型
public class ValueDemo1 {
public static void main(String[] args) {
System.out.println(666);//整形
System.out.println(6.66);//小数
System.out.println("你好");//字符串
System.out.println('男');//字符
System.out.println(true);//布尔
System.out.println("null");//空,不能直接打印,要用字符串形式进行打印
}
}
- 特殊字面量的书写
\t
:制表符,在打印的时候,把前面字符串的长度补齐到8,或者8的整数倍。最少补一个空格,最多补8个空格。
public class ValueDemo2 {
public static void main(String[] args) {
System.out.println("name"+'\t'+"age");
System.out.println("tom"+'\t'+"18");
}
}
null
:空类型,需要以字符串的形式来体现
1.4、变量
在程序的执行过程中,其值有可能发生改变的量(数据)
- 变量的定义格式
数据类型 变量名=数据值
1.5、计算机存储规则
- 进制
在计算机中,任意数据都是以二进制的形式来存储的
进制转换
2. 存储规则
1.6、数据类型
Java语言的数据类型分为:基本数据类型,引用数据类型
- 基本数据类型
注意:long
:如果要定义long类型的变量,在数据值的后面需要加一个L作为后缀,L可以是大写的,也可以是小写的,建议使用大写。
float
:数据值需要加一个F作为后缀
byte
的取值范围:-128~127
练习1
public class VariableTest2 {
public static void main(String[] args) {
String name = "黑马谢广坤";
System.out.println(name);
int age = 18;
System.out.println(age);
char gender = '男';
System.out.println(gender);
double height = 180.1;
System.out.println(height);
boolean flag = true;
System.out.println(flag);
}
}
1.7、标识符
给类,方法,变量等起的名字
- 标识符命名规则
硬性要求
- 由数字、字母、下划线(_)和美元符($)组成
- 不能以数字开头
- 不能是关键字
- 区分大小写
软性建议
1.8、键盘录入
- 介绍
Java帮我们写好了一个类叫Scanner,这个类就可以接收键盘输入的数字
- 步骤
- 步骤一:导包——Scanner这个类在哪
- import java.util.scanner;
- 导包的动作必须出现在类定义的上边
- 步骤二:创建对象——表示我要开始用Scanner这个类了
- Scanner sc = new Scanner(System.in);
- 上面这个格式里,只有sc是变量名,可以变,其他的都不允许变
- 步骤三:接受数据——真正开始干活了
- int i = sc.nextInt();
- 这个格式里,只有i是变量名,可以变,其他的都不允许变
import java.util.Scanner;
public class ScannerDemo1{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入整数");
int i = sc.nextInt();
System.out.println(i);
}
}
- 练习
键盘输入数字并求和:键盘录入两个整数,求出他们的和并打印出来
import java.util.Scanner;
public class ScannerTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个整数");
int number1 = sc.nextInt();
System.out.println("请输入第二个整数");
int number2 = sc.nextInt();
System.out.println(number1+number2);
}
}
1.9、IDEA
- IDEA概述
IDEA全称Intellij IDEA,是用于Java语言开发的集成环境,它是业界公认的目前用于Java程序开发最好的工具
- 集成环境:把代码编写,编译,执行,调试等多种功能综合到一起的开发工具
- IDEA的下载和安装
下载:www.jetbrains.com/idea/
安装:傻瓜式安装,建议修改安装路径 - IDEA中的第一个代码
-
IDEA创建一个类
直接在块底下创建一个新类 -
删除一个类
直接右键delete删除 -
修改一个类
右键类,选择Befactor,再选择Rename -
新建一个模块
点击左上角的file
再点击Project Structure
在选择Module
选择Java Module
- 关闭项目
点击file
中的close Project
- 新建项目
点击New project
再点击Empty project
二、运算符
1.1、 概念
运算符:对字面量或者变量进行操作的符号
表达式:用运算符把字面量或者变量连接起来,符合java语法的式子就可以称为表达式。不同运算符连接的表达式体现的是不同类型的表达式。
2.2、算术运算符
结论:
在代码中,如果有小数参与计算,结果可能不精确
整数参与运算,结果只能得到整数
练习
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个三位数");
int number = sc.nextInt();
int ge = number % 10;
int shi = number / 10 % 10;
int bai = number / 100 % 10;
System.out.println(ge);
System.out.println(shi);
System.out.println(bai);
}
}
- “+”操作的三种情况
- 数字相加
隐式转换
强制转换
- 字符串相加
当“+”操作中出现字符串时,这个“+”是字符串连接符,而不是算术运算符了。会将前后的数据进行拼接,并产生一个新的字符串。
- 字符相加
当字符+字符(字符+数字)时,会把字符通过ASCII码表查询到对应的数字再进行计算。
2.3、自增自减运算符
- 基本用法
- 两种用法
单独使用:++和–无论是放在变量的前边还是后边,单独写一行结果都是一样的。
参与计算:先++:先加后用;后++:先用后加
2.4、赋值运算符
注意事项:扩展的赋值运算符隐含了强制类型转换
2.5、关系运算符
- 分类
- 练习
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入我们自己的衣服时髦度");
int myFashion = sc.nextInt();
System.out.println("请输入相亲对象衣服的时髦度");
int girlFashion = sc.nextInt();
boolean result = myFashion > girlFashion;
System.out.println(result);
}
}
2.6、逻辑运算符
- 四种逻辑运算符
- 短路逻辑运算符
- 练习
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
System.out.println("请输入第一个整数");
int number1 = sc.nextInt();
System.out.println("请输入第二个整数");
int number2 = sc.nextInt();
boolean result = number1 == 6 || number2 == 6 || (number1 + number2) % 6 ==0;
System.out.println(result);
}
}
2.7、三元运算符
练习1:
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一纸老虎的体重");
int weight1 = sc.nextInt();
System.out.println("请输入第二只老虎的体重");
int weight2 = sc.nextInt();
String result = weight1 == weight2 ? "相同" : "不同";
System.out.println(result);
}
}
练习二:
public class Test {
public static void main(String[] args) {
int height1 = 150;
int height2 = 210;
int height3 = 165;
int temp = height1 > height2 ? height1 : height2;
int max = temp > height3 ? temp : height3;
System.out.println(max);
}
}
快捷键:ctrl + alt + L
自动格式化代码
2.8、运算符优先级
小括号()优先于所有
2.9、原码、反码、补码
- 原码
- 原码
- 十进制数据的二进制表现形式,最左边是符号位,0为正,1为负
- 原码的弊端
- 利用原码进行计算的时候,如果是正数完全没有问题
- 但是如果是负数计算,结果就出错,实际运算的方向,跟正确的运算方向是相反的
- 反码
- 反码出现的目的
- 为了解决原码不能计算负数的问题而出现的
- 反码的计算规则
- 正数的反码不变,负数的反码在原码的基础上,符号位不变。数值取反,0变1,1变0
- 负数运算的时候,如果结果不跨0,是没有任何问题的,但是如果结果跨0,跟实际结果会有1的偏差
- 补码
- 补码出现的目的
- 为了解决负数计算式跨0的问题而出现的
- 补码的计算规则
- 正数的补码不变,负数的补码在反码的基础上+1
- 另外补码还能多记录一个特殊的值-128,该数据在1的字节下,没有反码和原码
- 补码的注意点
- 计算机中的存储和计算都是以补码的形式进行的
- 其他的运算符