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");
(2)多行:/* */
String a = "Hello World";
System.out.println(a);
输出结果:"Hello World"
(3)文档:/** */
文档注释后面做专门描述
4 变量:
用来存储数据的,代词,指代的是它所存储的那个数据
4.1、声明:
int a;
int b,c,d;
4.2、初始化:第一次给变量赋值
(1)声明同时初始化
int a = 250;
(2)先声明,后初始化
int a;
a = 250;
4.3、使用:
(1)对变量的使用就是对它所存储的数据的使用
int a = 5;
int b = a + 10;
System.out,println(b);
System.out.println("b");
a = a + 10;
System.out.println(a);
(2)变量的使用必须与数据类型相匹配
int a = 3.14;
(3)变量在使用之前必须声明并初始化
System.out.println(m);
int m;
System.out.println(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;
int b = 1000000000*10;
int balance = 2147483647;
balance = balance + 1;
System.out.println(balance);
(2)两个整数相除,结果还是整数,小数位无条件舍弃(不会四舍五入)
int a = 5;
int b = 10;
int c = 15;
System.out.println(b/a);
System.out.println(c/b);
(3)整数运算时若超范围则发生溢出,溢出是需要避免的
5.2、long 长整型,8个字节(32位),很大很大很大
(1)长整型的直接量需在数字后加L或l
(2)运算时若有可能溢出,建议在第一个数字后加L
(3)System.currentTimeMillis()用于获取自1970.1.1零时到此时此刻的毫秒数
long a = 1000000000*2*10L;
System.out.println(a);
long b = 1000000000*3*10L;
System.out.println(b);
long b = 1000000000L*3*10;
System.out.println(b);
5.3、double:浮点型,8个字节,很大很大
(1)浮点型直接量默认为double,表示float需在数字后加F或f
(2)double与float型数据在参与运算时,有可能会出现舍入误差
double a = 3.0,b = 2.9;
System.out.println(a-b);
double a = 6.0,b = 4.9;
System.out.println(b-a);
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);
char ch = 'a';
System.out.println(ch);
char ch = 97;
System.out.println(ch);
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);
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();
System.out.println("请输入价格:");
double price = scan.nextDouble();