java学习笔记1

java学习笔记1,第1张

java学习笔记1

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

一、Java介绍:二、变量、数据类型运算

1.注释2.标识符3.基本数据类型

1.整数型2.浮点型3.字符型4.布尔型(boolean) 4.运算符(operator)

1.算术运算符2.赋值及其扩展赋值运算符3.关系运算符4.逻辑运算符5.位运算符6.字符串连接符7.条件运算符8.运算符优先级问题 5.数据类型的转换

1.自动类型转换(TypeAuto)2.强制类型转换(TypeCost)3.基本类型转化时常见错误和问题 6.Scanner处理键盘输入 三、IDEA下载与使用


提示:以下是本篇文章正文内容,下面案例可供参考

一、Java介绍:

Java特性和优势:跨平台/可移植性、安全性、面向对象、简单性。高性能、分布式、多线程、健壮性

Javase:标准版

Javaee:企业版

Javame:微型版

DOS(Disk Operating System),是早期个人计算机上的一类 *** 作系统。

常用命令:

    cd 目标路径 进入下一个目录cd … 进入父目录dir 查看本目录下的文件和子目录列表cls 清除屏幕命令上下键 查找敲过的命令Tab键 自动补齐命令

在我们学习开发中,包括以后在企业中从事软件开发时,一般使用集成开发环境(IDE)。

IDEA 官方网址:http://www,jetbrains.com/idea/VS Code 官方网址:http://code.visualstudio.com/eclipse 官方网址:http://www.eclipse.org 二、变量、数据类型、运算符 1.注释

单行注释

单行注释使用“//”开头。

多行注释

多行注释以“/”开头以“/”结尾。注意,多行注释不能嵌套使用。

文档注释

文档注释以“”结尾,注释中包含一些说明性的文字及一些

JavaDoc 标签(后期写项目时,可以生成项目的 API)

public class Welcome {
	//我是单行注释
	public static void main(String[ ] args) {
		System.out.println("Hello World!");
	}
	
}
2.标识符

标识符是用来给变量、类、方法以及包进行命名的。4大规则:

    ​ 必须以字母、下划线_、美元符号$开头。

    其他部分可以是字母、下划线”_“、美元符”$“和数字的任意组合。

    大小写敏感,且长度无限制。

    不可以是java的关键字。

    static 修饰为静态量

    fInal定义一个常量,常量一旦被初始化后不能再更改。

​ 声明格式: fianl type varName=value;

3.基本数据类型

Java 数据类型分为两大类:基本数据类型(primitive data type)和引用数据类型(reference
data type)。

byte:字节 一个字节有八位

1.整数型 类型占用存储空间表数范围byte1字节-2^7 ~ 2^7-1(-128~127)short2字节-2^15 ~ 2^15-1 (-32768~32767)int4字节-2^31 ~ 2^31-1 (-2147483648~2147483647) 约 21 亿long8字节-2^63 ~ 2^63-1

Java 语言整型常量的四种表示形式

十进制整数,如:99, -500, 0八进制整数,要求以 0 开头,如:015十六进制数,要求 0x 或 0X 开头,如:0x15二进制数,要求 0b 或 0B 开头,如:0b01110011

Java 语言的整型常数默认为 int 型,声明 long 型常量可以后加‘ l ’或‘ L ’ 。

【示例】long 类型常数的写法及变量的声明

long a = 55555555; //编译成功,在 int 表示的范围内(21 亿内)。
long b = 55555555555;//不加 L 编译错误,已经超过 int 表示的范围。

报错:The literal 55555555555 of type int is out of range,所以我们需要修改代码为:

long b = 55555555555L;
2.浮点型 类型占用存储空间表数范围float4字节-3.403E38~3.403E38double8字节-1.798E308~1.798E308

    float 类型又被称作单精度类型,尾数可以精确到 7 位有效数字。

    double 表示这种类型的数值精度约是 float 类型的两倍,又被称作双精度类型,绝大部分应用程序都采用 double 类型。

    Java 浮点类型常量有两种表示形式

    (1) 十进制数形式: 例: 3.14 314.0 0.314

    (2) 科学记数法形式 例:3.14e0 3.14E2 3.14E-1

    浮点型不精确,不要用于比较浮点数存在舍入误差,数字不能精确表示。浮点数适合普通的科学和工程计算,精度足够;但不适合精度要求非常高的商业计算,这时候要使用 BigDecimal 进行运算和比较。

    浮点常量默认类型是 double,要改成 float 可以后面加 F 或 f

浮点型数据的比较一

float f = 0.1f;
double d = 1.0/10;
System.out.println(f==d);//结果为 false

浮点型数据的比较二

float d1 = 423432423f;
float d2 = d1+1;
if(d1==d2){
	System.out.println("d1==d2");//输出结果为 d1==d2
}else{
	System.out.println("d1!=d2");
}

不要使用浮点数进行比较!需要比较请使用 BigDecimal 类.

java.math 包下面的两个有用的类:BigInteger 和 BigDecimal,这两个类可以处理任意长度的数值。BigInteger 实现了任意精度的整数运算。BigDecimal 实现了任意精度的浮点运算。

3.字符型

​ char

Unicode 字符集是为了给全世界所有字符一个唯一的编码,“唯一”对应的英文为Unique,而编码的英文为 code。

Unicode 采用了字符集和编码分开的策略。

​ 转义字符

转义符含义Unicode值b退格u0008n换行u000ar回车u000dt制表符(tab)u0009“双引号u0022‘单引号u0027\反斜杠u005c

注意事项:以后我们学的 String 类,其实是字符序列(char sequence), 本质是 char 字符组成的数组。

4.布尔型(boolean)

JVM 规范指出 boolean 当做 int 处理,也就是 4 字节,boolean 数组当做 byte 数组处理,这样我

们可以得出 boolean 类型占了单独使用是 4 个字节,在数组中是确定的 1 个字节。

注意:不要这样写:if ( flag = = true ),只有新手才那么写。关键也很容易写错成if(flag=true),这样就变成赋值 flag 为 true 而不是判断!老鸟的写法是 if ( flag )或者 if ( !flag)

4.运算符(operator)

算术运算符:

二元运算符:+,-,*,/,%
​ 一元运算符:++,–

赋值运算符: =

扩展运算符: +=,-=,*=,/=

关系运算符 : >,<,>=,<=,==,!= instanceof

逻辑运算符 : &&,||,!,^

位运算符 : &,|,^,~ , >>,<<

条件运算符 : ? :

字符串连接符 : +

1.算术运算符

二元运算符的运算规则:

​ 整数运算:(两个都为long,结果为long;其他都为int)

如果两个 *** 作数有一个为 long, 则结果也为 long。

没有 long 时,结果为 int。即使 *** 作数全为 short,byte,结果也是 int。

浮点运算:

如果两个 *** 作数有一个为 double,则结果为 double。

只有两个 *** 作数都是 float,则结果才为 float。

取模运算:

其 *** 作数可以为浮点数,一般使用整数,

int d2=32/3;		//整型除法取整=10两整型相除
double d3=32/3;		//浮点型=10.0两整型相除
double d4=32.0/3;	//浮点型=10.666666666666666浮点型除以整型
double d5=32/3.0;//浮点型=10.666666666666666整型除以浮点型

自增自减:

//测试自增,自减
int g=30;
g=10;
int h=g++;		// g++先赋值,后自增=10
int i=++g; 		//++g先自增,后赋值=12
2.赋值及其扩展赋值运算符 运算符用法举例等效的表达式+=a+=ba=a+b-=a-=ba=a-b*=a*=ba=a*b/=a/=ba=a/b%=a%=ba=a%b
												a*=b+3;			//相当于a=a*(b+3)
3.关系运算符

结果为true/false;

运算符含义示例==等于a==b!=不等于a!=b>大于a>b<小于a>=大于或等于a>=b<=小于或等于a<=b

注意事项

 ==、!= 是所有(基本和引用)数据类型都可以使用。

 > 、>=、 <、 <= 仅针对数值类型(byte/short/int/long,float/double 以及

char)

4.逻辑运算符

逻辑运算的 *** 作数和运算结果都是boolean值

​ 运算符 说明

与&只要有一个为 false,则 false短路与&&只要有一个为 false,则 false或|只要有一个为 true, 则 true短路或||只要有一个为 true, 则 true非!取反异或^相同为 false,不同为 true
//短路与、短路或
//	int b3=3/0; 			//会报不能除以0的异常
Boolean b3=1>2&&(4<3/0);	//Boolean b4=1>2&(4<3/0);会报不能除以0的异常
//逻辑与(&)在运算时会连续运算所有需要判断的命令,但短路与(&&)当遇到false就会停止。
System.out.println(b3); 	//=false
5.位运算符 位运算符说明~取反&按位与|按位或^按位异或<<左移运算符,左移一位相当于乘2>>右移运算符,右移一位相当于除2取商 6.字符串连接符

“+”运算符两侧的 *** 作数中只要有一个是字符串(String)类型,系统会自动将另一个 *** 作

数转换为字符串然后再进行连接。

//条件是string,不是char。若是char,则仍然是加法
char c1='h';
char c2='i';
System.out.println(c1+c2) ;			//=209
//通过加空字符串,让整个+都变成连接符
System.out.println(" "+c1+c2);		//=hi

java中的单引号表示字符,java中的双引号是字符串。

单引号引的数据一般是char类型的;双引号引的数据 是String类型的。

7.条件运算符

X?Y:Z 运算结果:X为true,则返回Y, X为false,则返回Z。

String type = score<60?"不及格":"及格";

x 为 boolean 类型表达式,先计算 x 的值,若为 true,则整个运算的结果为表达式 y 的

值,否则整个运算结果为表达式 z 的值。

8.运算符优先级问题 优先级运算符类1()括号运算符2!、+(正号)、-(负号)一元运算符2~位逻辑运算符2++、–递增与递减运算符3*、/、%算术运算符4+、-算术运算符5<<、>>位左移、右移运算符6>、>=、<、<=关系运算符7==、!=关系运算符8&位运算符、逻辑运算符9^位运算符、逻辑运算符10|位运算符、逻辑运算符11&&逻辑运算符12||逻辑运算符13?:条件运算符14=、+=、-=、*=、/=、%=赋值运算符、扩展运算符

推荐大家不需要去刻意的记这些优先级,表达式里面优先使用小括号来组织!!

逻辑与、逻辑或、逻辑非的优先级一定要熟悉!(逻辑非>逻辑与>逻辑或)。如 a||b&&c 的运算结果是:a||(b&&c),而不是(a||b)&&c

5.数据类型的转换 1.自动类型转换(TypeAuto)

自动类型转换指的是**容量小的数据类型可以自动转换为容量大的数据类型**。黑色的实线表示无数据丢失的自动类型转换,而虚线表示在转换时可能会有精度的损失。

2.强制类型转换(TypeCost)

不能在布尔类型和任何数值类型之间做强制类型转换浮点数强转为整数,直接丢失小数部分强制转型,超过了表述范围,则会转成一个完全不同的值 3.基本类型转化时常见错误和问题

    *** 作比较大的数时,要留意是否溢出,尤其是整数 *** 作时。

    L 和 l 的问题:

​ (1) 不要命名名字为 l 的变量,字母 l 容易和数字 1 混淆。

​ (2) long 类型使用大写 L,不要用小写 l。

6.Scanner处理键盘输入

【示例】使用 Scanner 获取键盘输入

import** java.util.Scanner;

public class Welcome2 {

​		public static void main(String[ ] args) {

​			Scanner scanner = new Scanner(System.in);

​			// 将输入的一行付给 string1

​			String string1 = scanner.nextLine();

​			// 将输入单词到第一个空白符为止的字符串付给 string2

​			String string2 = scanner.next();

​			// 将输入的数字赋值给变量

  			int a = scanner.nextInt();

​			System.out.println("-----录入的信息如下-------");

​			System.out.println(string1);

​			System.out.println(string2);

​			System.out.println(a * 10);

​		} 

}
三、IDEA下载与使用

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5722154.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存