JAVA笔记整理

JAVA基础知识笔记(一)

day01

一 java开发环境
二 eclipse
三 变量
四 基本数据类型
五 基本数据类型的转换

说明

这是本人写的第一篇博客,里面都是自己的一些学习笔记以及查阅资料整理的,老实讲,现在心里有点慌,但还是迈出了这一步,人家的第一次就在这里了,如果有错误与不到位的地方,欢迎大家指点改正,谢谢!

java开发环境

1 java编译运行过程:

	1.1、编译期:
		(1)源代码:编写源代码文件(.Java)
		(2)编译器:用编译器运行源代码。编译器会检查错误,如果发现错误,则需要改正才能进行输出。
		(3)输出:编译器会产出字节码(.class)。任何支持Java的装置都能够把它转译成可执行的内容。编译后的字节码与平台无关。
	1.2、运行期:
		(1)Java虚拟机(JVM)(通过软件实现):此虚拟机可以读取和执行字节码(.class)。

2 名词:

	2.1、JVM(Java Virtual Machine):java虚拟机
		作用:加载并运行.class文件,通过JVM,java实现了跨平台性,从而可以实现一次编程到处使用
	2.2、JRE(Java Runtime Environment):java运行环境
		JRE = JDK + java类库(小零件)
	2.3、JDK(Java Develop Kit):java开发工具包
		JDK = JRE + 编译、运行等命令工具

3 eclipse

	3.1、相关介绍 :由IBM公司开发,是开源的、免费的且仅需解压即可使用
	3.2、使用步骤:
		(1)创建java项目
		(2)创建java包
		(3)创建java类:System.out.println("Hello World");
	3.3/注释:解释性文本
		(1)单行://
System.out.println("Hello World");//输出:Hello World
		(2)多行:/* */
String a = "Hello World";
System.out.println(a);
/*声明变量a的类型为:String(字符串),初始化变量a的值:"Hello World"
 *输出:a
 */输出结果:"Hello World"
		(3)文档:/** */
			文档注释后面做专门描述

4 变量:

用来存储数据的,代词,指代的是它所存储的那个数据
	4.1、声明:
int a;//声明一个整型的变量,名为a
int b,c,d;//声明三个整型变量,名为:b,c,d
	4.2、初始化:第一次给变量赋值
		(1)声明同时初始化
int a = 250;//声明整型变量a并赋值为250
		(2)先声明,后初始化
int a;//声明整型变量a
a = 250;//给变量a赋值为250
	4.3、使用:
		(1)对变量的使用就是对它所存储的数据的使用
int a = 5;
int b = a + 10;//取出a的值5,加10后,再赋值给变量b
System.out,println(b);//输出变量b的值15
System.out.println("b");//输出b,双引号中的原样输出
a = a + 10;//取出a的值5,加10后,再赋值给a
//在a本身的基础上增10
System.out.println(a);//15
		(2)变量的使用必须与数据类型相匹配
int a = 3.14;//编译错误,数据类型不匹配
		(3)变量在使用之前必须声明并初始化
System.out.println(m);//编译错误,m未声明
	int m;
	System.out.println(m);//编译错误,m未初始化
	4.4、命名:
		(1)只能包含字母、数字、_和$符,并且不能以数字开头
		(2)严格区分大小写
		(3)不能使用关键字
		(4)可以中文命名,但不建议
			建议“英文的见名知意”、“驼峰命名法”
			驼峰命名法:当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:myLastName。
			score,myScore,myJavaScore------------驼峰命名法
			Score,MyScore,MyJavaScore------------帕斯卡命名法

5 基本数据类型

	java中有8种数据类型,分别为:byte,short,int,long,float,double,char,boolean,但是常用只有int,long,double,char,boolean五种。
	5.1、int整型,4个字节,范围为:-2147483648到2147483647
		(1)整数直接量默认为int,但不能超出范围,若超出范围则编译错误
			直接量超出范围为编译错误,运算时超出范围 为溢出
int a = 10000000000;//编译错误(100亿为整数直接量,整数直接量默认为int类型)
int b = 1000000000*10;//溢出
int balance = 2147483647;
balance = balance + 1;
System.out.println(balance);//输出:-2147483648
		(2)两个整数相除,结果还是整数,小数位无条件舍弃(不会四舍五入)
int a = 5;
int b = 10;
int c = 15;
System.out.println(b/a);//2 b(10)除以a(5)等与2
System.out.println(c/b);//1 c(15)除以b(10)等与1
		(3)整数运算时若超范围则发生溢出,溢出是需要避免的
	5.2、long 长整型,8个字节(32位),很大很大很大
		(1)长整型的直接量需在数字后加L或l
		(2)运算时若有可能溢出,建议在第一个数字后加L
		(3)System.currentTimeMillis()用于获取自1970.1.1零时到此时此刻的毫秒数
long a = 1000000000*2*10L;//10亿*2(int)*10L(100亿为整型直接量,整数直接量默认为int类型)
System.out.println(a); //200亿
long b = 1000000000*3*10L;//溢出
System.out.println(b); //不是300亿
long b = 1000000000L*3*10;
System.out.println(b); //300亿
	5.3、double:浮点型,8个字节,很大很大
		(1)浮点型直接量默认为double,表示float需在数字后加F或f
		(2)double与float型数据在参与运算时,有可能会出现舍入误差
double a = 3.0,b = 2.9;
System.out.println(a-b);//0.10000000000000009不等于0.1
double a = 6.0,b = 4.9;
System.out.println(b-a);//1.0999999999999996不等于1.1
	5.4、boolean:布尔型,1个字节
		只能赋值为true或false
	5,5、char:字符型,2个字节
		(1)采用Unicode字符集编码,每个字符都有一个对应的码, 表现的形式是字符char,但本质上是整数int(0到65535),(ASCII码: 'a'--97  'A'--65  '0'--48);
		(2)字符直接量需放在单引号中,只能有一个
		(3)特殊字符需要\来转义
char ch = '\\';
System.out.println(ch);//输出:\
char ch = 'd';
System.out.println(ch);//输出:d
char ch = 'a';
System.out.println(ch);//输出:a
char ch = 97;
System.out.println(ch);//输出:a

6 数据类型间的转换

	6.1、两种方式:
		(1)自动类型转换:小类型到大类型
		(2)强制类型转换:大类型到小类型(要转换成为的数据类型)变量强转有可能溢出或丢失精度
	6.2、两点规则
		(1)整数直接量可以直接赋值给byte,short,char,但不能超出范围
		(2)byte,short,char型数据参与运算时, 先一律转换为int再运算
byte b1 = 5;
byte b2 = 6;
byte b3 = (byte)(b1+b2);//(b1+b2)运算过程中会自动转换为int类型,加byte进行强制类型转换

7 Scanner的用法

		这里简单提及一下,后面会做详细的赘述。
		7.1、在package下:
import java.util.Scanner;
	7.2、在main中:
 Scanner scan = new Scanner(System.in);
	7.3、在第2步之下:
 System.out.println("请输入年龄:");//用户在面板上面输入
 int age = scan.nextInt();//输入年龄为int类型
 System.out.println("请输入价格:");
 double price = scan.nextDouble();

你可能感兴趣的:(JAVA基础)