一.注释
是对代码的解释和说明文字,可以提高程序的可读性,因此在程序中添加必要的注释文字十分重要。Java中的注释分为三种:
单行注释。单行注释的格式是使用//,从//开始至本行结尾的文字将作为注释文字。
多行注释。多行注释的格式是使用/* 和 */将一段较长的注释括起来。
文档注释暂时不做研究
二.关键字
是指被java语言赋予了特殊含义的单词。
关键字的特点:关键字的字母全部小写。
三.常量
在程序运行过程中,其值不可以发生改变的量。字符串常量 用双引号括起来的多个字符(可以包含0个、一个或多个),例如"a"、"abc"、"中国"等
整数常量 整数
小数常量 小数
字符常量 用单引号括起来的一个字符
布尔常量 布尔值,表示真假,只有两个值true和false
空常量 一个特殊的值,空值,值为null
除空常量外,其他常量均可使用输出语句直接输出。
四.数据类型(记忆、应用)
4.1 计算机存储单元
我们知道计算机是可以用来存储数据的,但是无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母”b”表示。而计算机中最基本的存储单元叫“字节(byte)**”,通常用大写字母”B”表示,字节是由连续的8个位组成。除了字节外还有一些常用的存储单位,其换算单位如下:
1B(字节) = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
4.2 Java中的数据类型
Java是一个强类型语言,Java中的数据必须明确数据类型。在Java中的数据类型包括基本数据类型和引用数据类型两种。
整数类型 | byte | 1 | -128~127 |
---|---|---|---|
short | 2 | -32768~32767 | |
int(默认) | 4 | -2的31次方到2的31次方-1 | |
long | 8 | -2的63次方到2的63次方-1 | |
浮点类型 | float | 4 | 负数:-3.402823E+38到-1.401298E-45 正数: 1.401298E-45到3.402823E+38 |
double(默认) | 8 | 负数:-1.797693E+308到-4.9000000E-324 正数:4.9000000E-324 到1.797693E+308 | |
字符类型 | char | 2 | 0-65535 |
布尔类型 | boolean | 1 | true,false |
说明:
e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方。
在java中整数默认是int类型,浮点数默认是double类型。
引用数据类型 :对象 、数组 、函数
五. 变量(应用)
*3.5.1 变量的定义*
变量:在程序运行过程中,其值可以发生改变的量。
从本质上讲,变量是内存中的一小块区域,其值可以在一定范围内变化。
变量使用的注意事项
-
在main方法范围内,变量名不能重复
-
不赋值的变量不能使用
-
如不加L自动认为定义的数字为int类型(过大)会产生错误,因此需要在后边加个L(整数默认int 浮点数默认double)
六.标识符
标识符的概述:就是给类,方法变量等起名字的符号
标识符定义规则:以数字、字母、下划线、和美元符号$组成 不能以数字开头 不能是关键字 区分大小写
常见命名约定:
小驼峰:方法和变量
大驼峰:类
七. 类型转换
7.1分类:自动类型转换 强制类型转换
7.2自动类型转换:把一个表示数据范围小的范围或变量赋值给另一个表示数据范围大的变量
7.3强制类型转换
把一个表示数据范围大的变量赋值给一个表示数据范围小的变量
格式:目标数据类型 变量名=(目标数据类型)值或变量
例子:int k = (int)88.88;
可以做但不建议(会造成数据丢失)
八.运算符
算数运算符
定义:对常量或变量进行操作的符号
表达式:用运算符把常量或变量连接起来符合Java语法的式子
除法得到的是商 取余得到的是余数 整数相除只能得到整数 浮点数相除才能得到小数
8.3字符的**”+”操作**
算数表达式中包含多个基本数据类型的值的时候,整个算数表达式类型会自动进行提升
提升规则
Byte类型 short类型和char类型将会被提升到int类型
整个表达式的类型自动提升到表达式中最高等级操作数同样的类型
等级顺序:byte,short,char int long float double
等级顺序:byte,char,short int long float double
8.4字符串的”+”操作
九. 赋值运算符
i+= 20 用I以前的值加上20再赋值给i即与i=i+20的结果等价
*加操作会造成类型提升* *拓展的运算符隐含了强制类型转换*
十.自增自减运算符
十一.关系运算符
结果一定是一个布尔类型的值(boolean)
要么是true要么是false
十二.逻辑运算符
12.1逻辑运算符的概念
连接关系表达式的运算符,也可以直接连接布尔类型的常量或者变量
12.2逻辑运算符
&有false就是false
|有true就是true
^相同为false不同为true
!反的,假如两个感叹号就是一样的
12.3短路逻辑运算符
逻辑与&,无论左边真假,右边都要执行
短路与&&,如果左边为真,右边执行,如果左边为假,右边不执行
逻辑或|,无论左边真假,右边都要执行
短路或||,如果左边为假,右边执行;左边为真,右边不执行
十三. 三元运算符
13.1格式:关系表达式?表达式1:表达式2;
示例:a>b?a: b;
先计算关系表达式的值 如果为true ,表达式1的值就是运算结果
如果值为false,表达式2的值就是运算结果
(获取两个数据中的较大值)
十四.两只老虎
两只老虎的体重为 180 200 找出这两只老虎体重最大的值
代码:
public class Laohu { public static void main(String[] args) { int a = 180; int b = 200; boolean c = a==b ? true : false; System.out.println("c="+c); } }
运行结果:
十五.三个和尚
三个和尚的身高分别为 150 210 165 找出这三个和尚中身高最高的和尚的数值
代码:
public class Heshang { public static void main(String[] args) { int a = 150; int b = 210; int c = 165; int d = a > b ? a : b; int e = d > c ? d : c; System.out.println("身高最高的和尚的身高为"+e); }
运行结果:
十六.数据输入
16.1数据输入概述
16.2 Scanner使用的基本步骤
(1)导包
import java.util.Scanner;
这行代码必须出现在类的定义的上面
(2)创建对象
Scanner sc = new Scanner(System.in);
上面这个格式里只有 sc 是变量名可以变化 剩下的都不允许
(3)接收数据
int i = sc.nextInt();
上面这个格式里边只有i是变量名可以变 剩下的都不允许(sc 跟着(2)里的变)
例子代码:
import java.util.Scanner; public class Shuru { public static void main(String[] args) { Scanner sc = new Scanner(System.in) ; int x = sc.nextInt(); System.out.println("x="+x); } } //注意事项:是util new Scanner(System.in);
十七.三个和尚升级版
import java.util.Scanner; public class Shuru{ public static void main (String[] args){ Scanner sc = new Scanner(System.in); int x = sc.nextInt(); int y = sc.nextInt(); int z = sc.nextInt(); int e = x > y ? x : y; int f = e > z ? x : z; System.out.println("身高最高的和尚的身高为"+f); } } //错误点:第一行导包的后边也有分号 String 的S记得大写
public static void main(String[] args){
} public:访问权限(任何场合可以被引用) static方法是静态的不依赖对象的 void main(main是主函数)(方法是不需要返回值的)String:参数 args:字符串数值 String[] args(接收程序执行时传进来的参数)