java学习笔记1

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


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

一、Java介绍:

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

Javase:标准版

Javaee:企业版

Javame:微型版

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

常用命令:

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

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

  • IDEA 官方网址:http://www,jetbrains.com/idea/
  • VS Code 官方网址:http://code.visualstudio.com/
  • eclipse 官方网址:http://www.eclipse.org

二、变量、数据类型、运算符

1.注释

  • 单行注释

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

  • 多行注释

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

  • 文档注释

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

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

/**
* Welcome 类(我是文档注释)
* @author 高淇
* @version 1.0
*/
public class Welcome {
	//我是单行注释
	public static void main(String[ ] args/*我是行内注释 */) {
		System.out.println("Hello World!");
	}
	/*
		我是多行注释!
		我是多行注释!
	*/
}

2.标识符

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

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

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

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

  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.403E38
double8字节-1.798E308~1.798E308
  1. float 类型又被称作单精度类型,尾数可以精确到 7 位有效数字。

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

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

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

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

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

  5. 浮点常量默认类型是 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退格\u0008
\n换行\u000a
\r回车\u000d
\t制表符(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<b
>=大于或等于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.基本类型转化时常见错误和问题

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

  2. 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);// 将输入的一行付给 string1String string1 = scanner.nextLine();// 将输入单词到第一个空白符为止的字符串付给 string2String string2 = scanner.next();// 将输入的数字赋值给变量

  			int a = scanner.nextInt();System.out.println("-----录入的信息如下-------");System.out.println(string1);System.out.println(string2);System.out.println(a * 10);} 

}

三、IDEA下载与使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值