Java 基础学习 day01

-------Java 学习 day01-------

 

java的三大技术架构

Javase:java标准版,该体系的知识点主要是学习java基础的知识点, 主要用于桌面应用软件的开发。比如计算器,QQ软件等。==市场上几乎没有人使用java去开发桌面应用程序,因为java在创立的时候定位该门语言是面向互联网的一门语言。Java的图形化界面非常丑

Javaee:java企业版,基于javase的企业级应用的开发。比如淘宝,京东,ERP系统等。

Javame(已经被淘汰):java微型版,应用于移动设备和电子类产品的嵌入式开发。比如手机游戏,手机软件等。 Android使用java语言去开发。

 

-什么是java跨平台?

通过java语言编写的应用程序可以在不同的操作系统上直接运行。具有一次编译,到处运行的特点。

java如何实现跨平台?

a.通过JVM实现java语言跨平台

b.在运行java程序的操作系统上,安装对应的JVM虚拟机,实现java语言跨平台

 

面试题:java语言编写出来的软件是否跨平台? Jvm是否跨平台?

跨平台,jvm全称java虚拟机, java虚拟机的作用就是用于解析class文件的。 Jvm不跨平台。

 

--------2--------

什么是jvm、什么是jre, 什么是JDK ? JVM、JRE、JDK三者之间的关系?

JVM:Java虚拟机,jvm的作用负责解析运行class文件,保证java程序跨平台。(Java Virtual Machine)

JRE:(Java Runtime Environment) Java运行环境,包含JVM和核心类库。如果只是想运行java程序,只要安装JRE即可。

JDK:Java开发工具包,包含JRE和开发工具。如果程序员想要开发java程序,需要安装JDK环境。

开发工具包括:编译工具javac.exe  ,运行工具java.exe 等。

 

小结

jvm: java虚拟机负责解析运行class文件。

Jre: jre=jvm+核心类库 。 Java运行环境,负责运行java的程序

Jdk: jdk = jre+ 开发工具

JVM、JRE、JDK三者之间的关系?

Jre=jvm+核心类库

Jdk = jre+ 开发工具

 

--------03--------

Path环境变量的配置

为什么要配置path环境变量?

a 为了在任意文件下能使用JDK的bin目录下开发工具

配置步骤?

1、此电脑--->属性--->高级系统设置--->高级--->环境变量==

2、新建系统变量

b1变量名:JAVA_HOME

b2变量值:JDK的安装目录(到bin目录的上一层)

3、将 %JAVA_HOME%\bin 添加到Path变量中。 %环境变量名% 引用某指定的环境变量

4、打开DOS系统,输入javac,验证是否配置成功。

 

理解配置环境变量的意义

a 让控制台在任意目录下都可以使用java的开发工具。

 

疑问: 为什么配置了path环境变量之后就可以在任意目录下去使用java的开发工具了呢?

a 当我们在控制台输入java命令的时候, Windows系统首先会在当前目录下去搜索是否有java.exe 的开发工具,如果找到直接执行,如果没有搜索到那么就会根据path环境变量配置的路径下去搜索是否有对应的可执行程序。如果有直接执行,如果还没有直接报错。

 

--------04--------

HelloWorld 案例

A    Java程序开发运行流程?

编写代码:编写.java后缀的源文件

编译代码:将.java文件编译成.class后缀的字节码文件

运行程序:使用 java工具运行编译好的字节码文件

编译: javac 文件名.java

运行: java  class文件名

 

Helloworld代码

Public class helloworld {

  Public static void main(String[] args) {

    System.out.println("helloworld");

  }

}

Java程序运行的流程?

编写java 的源代码

编译 javac java的源文件

运行 java class文件

编译与运行分别使用哪个工具

编译 javac java的源文件

运行 java class文件

独立编写并运行helloworld案例?

 --------05--------

helloworld案例常见问题

1)、中文符号问题。(java中的符号都是英文的)

2)、单词大小写问题。(java是区分大小写的)

3)、文件扩展名问题。(java源文件扩展名为.java)

4)、程序主方法main书写问题。(main为程序的主入口,单词不能写错)

5)、文件名和类名不一致问题。(public限制java文件名和类名要一致)

Notepad++编码设置

设置 --> 首选项 --> 新建,格式选择Windows,编码选择ANSI。

--------06--------

注释

注释的作用?

对代码进行解释说明,便于开发人员理解和维护代码。

注释不会被程序编译和运行。

注释的分类?

单行注释 //

多行注释 /* */

文档注释 /** */

 

Java程序中最基本的组成单位是类。

类的定义格式:

Public class 类名 {

}

 

这是我定义的helloworld类

*/

Public class helloworld {

/*

这是main方法

Main方法是程序的入口方法,代码的执行是从main方法开始的

*/

Public static void main(String[] args) {

// 这是输出语句,""里面的内容是可以改变的

System.out.println("itheima");

}

}

 

 

--------07--------

关键字

什么是关键字?

在java语言中有特殊意义的单词。

Java关键字的特点?

英文字母,全部小写。

在高级开发工具中,关键字会有特殊的颜色标记。

Java中的关键字

Goto和const是java中的预留关键字。

 

关键字的作用是什么?

在java程序中有着特殊含义的单词称作为关键字。 比如: class 定义类 public 公共的,所有人都可以访问。

学习关键字的方法?

千万不要死记硬背, 后期的程序会慢慢接触到每一个关键字,然后知道关键字的作用即可。

 

--------08--------

常量

什么是常量?

在程序运行过程中,其【值不可以发生改变】的量。

常量的分类

a字符串常量:使用双引号 "" 括起来的0到多个字符。 "java" , "" , "  " , "A"

b字符常量:使用单引号 '' 括起来的【单个】字符。 'A' , '0' ,'我'

c整数常量:正负整数  10  -20

d小数常量:带小数点的数字  -3.14   5.12

e布尔常量:表示真或假,只有true或false两个值。

f空常量:值为null,不能使用输出语句直接输出。

代码

  Public class constantdemo{

Public static void main(String[] args){

//字符串常量

System.out.println("");

System.out.println(" ");

System.out.println("1");

System.out.println("字符串常量");

System.out.println("---------------");

 

//字符常量(字符常量只能是单个字符,不能多个,也不能没有)

System.out.println('1');

System.out.println('A');

System.out.println('中');

//System.out.println('10'); 引发编译错误

//System.out.println('');  引发编译错误

System.out.println(' ');

System.out.println("---------------");

 

//布尔常量

System.out.println(true);

System.out.println(false);

System.out.println(10>20); //fasle

 

//空常量 null 不能直接输出

//System.out.println(null);   引发编译错误

}

}:

 

  --------小结--------

什么是常量?

a在程序运行过程中其值不能改变的量称作为常量。

 


常量的类型?

字符串常量 ""双引号引起来

整数常量 比如: 123

小数常量: 比如: 3.14

字符常量 是使用单引号括起来的, 并且只能出现一个字符。 比如: ‘a’

布尔常量 只有两个值,真(true)与假 (false)

Null常量 学习到对象的时候才会去使用的。

--------09--------


数据类型

Java数据类型分类?

基本数据类型:4型8种

引用数据类型:字符串,数组,类,接口 ,null

 

使用注意·

整数默认是int类型,浮点数默认是double类型。

定义long类型的数据的时候,需要加 L 或 l,建议加L。

定义float类型的数据的时候,需要加 F 或 f,建议加F。

 

【练习题】下面哪些是Java中的基本数据类型?(A,D,E)

A byte

B Byte

C String  //字符串

D char

E long

 

--------小结--------

数据类型的作用?

用于申请内存空间的。 开辟对应的内存空间。

Java中基本数据类型的四型八种是哪个?

整数

Byte 1个字节

Short 2个字节

Int 4个字节

Long 8个字节

小数

Float 4个字节

Double 8个字节

字符

Char 2个字节

布尔

Boolean 1个字节

 

--------10--------

变量

什么是变量?

变量指程序运行过程中,其值在【一定范围内】会发生【变化】的量。

变量的定义格式?

数据类型 变量名 = 初始化值;

Int a = 10;

Double d = 12.5;

 

变量使用的注意事项?

变量可以定义时初始化,也可以先定义,使用前进行初始化。

Int a = 10;

Int b;

B =20;

System.out.println(b);

 

没有初始化的变量不能直接使用。

Int a;

System.out.println(a); //此处会报错,变量没有初始前不能直接使用

相同{}范围内,变量名不能重复。

Int  a  =10;

A = 20;  //重新赋值

Int a = 20; //变量名重复,会编译报错

 

整数常量默认是int类型,定义long类型常量时需要加 L 或者l,建议加L。

Long b = 10000000000;  //超出intd的范围,会编译报错,改成下面的方式,加L

Long b = 10000000000L;

Long  a = 10L;

小数默认是double类型,定义float类型的时候需要在数字后面加F或者f,建议加F。

Float  f  = 3.14;  //此处会编译报错,因为小数默认是double类型。

Float  f  = 3.14F;

一行代码上可以定义多个变量。(不推荐)

Int a=10,b=20;

 

变量的基本格式定义

/*

变量定义格式:

数据类型 变量名 = 变量值;

 

基本数据类型:

Byte,short,int,long,float,double,char,boolean

 

变量的使用:

取值格式:变量名

 

修改值格式:变量名 = 变量值;

*/

Public class variabledemo01 {

Public static void main(String[] args) {

//定义变量

Int a = 10;

//输出变量

System.out.println(a);

 

//修改变量

A = 20;

System.out.println(a);

}

}

变量要注意的事项

/*

变量使用的注意事项:

名字不能重复

变量未赋值,不能使用

Long类型的变量定义的时候,为了防止整数过大,后面要加L

Float类型的变量定义的时候,为了防止类型不兼容,后面要加F

*/

Public class variabledemo02 {

Public static void main(String[] args) {

//定义byte类型的变量

Byte b = 10;

System.out.println(b);

 

//定义short类型的变量

Short s = 100;

System.out.println(s);

 

//定义int类型的变量

Int i = 10000;

System.out.println(i);

 

//定义double类型的变量

Double d = 13.14;

System.out.println(d);

 

//定义char类型的变量

Char c = 'a';

System.out.println(c);

 

//定义boolean类型的变量

//boolean b = true;

//System.out.println(b);

Boolean bb = true;

System.out.println(bb);

System.out.println("--------");

 

//定义long类型的变量

Long l = 10000000000L;

System.out.println(l);

System.out.println("--------");

 

//定义float类型的变量

Float f = 13.14F;

System.out.println(f);

}

}

--------小结--------

变量的作用?

变量的作用就是向jvm申请对应的内存空间存储数据,在程序运行过程中其值可以发生改变。

变量的定义格式?

数据类型 变量名 = 数据;

==注意:以后我们存储数据的时候该如何选择数据类型呢?==

先明确你当前存储的数据是什么类型。

然后再根据对应的范围大小去选择。 但是这点是理论。 在实际开发中基本如果是i整数统一都使用int类型,如果是小数我们都使用double类型。

变量在使用的时候注意的事项?

变量名不能重复

变量在使用之前必须要赋值

整数默认是int类型,如果需要表示为long类型需要在后面加上L或者l。

小数默认是double类型,如果需要表示为float类型,需要在后面添加F或者f。

--------11--------

标识符

标识符的作用?

给包,类,方法,变量起名的符号。

标识符的组成规则?

==英文大小写字母,数字0~9 , 下划线_ ,美元符$ ,中文==

注意:

不能数字开头

不能是关键字

标识符的命名规范?

小驼峰式命名:变量名、方法名

第一个单词首字母小写,从第二个单词开始每个单词的首字母大写。

Username,maxvalue等

大驼峰式命名:类名

每个单词的首字母都大写。

String, arraylist等

建议:标识符的起名尽量做到见名知意。

 

--------小结--------

a1标识符的作用?

a2标识符就是指在java程序中由我们自定义名字的则称作为标识符。 比如: 类名

a3标识符的组成规则?

标识符的组成元素: 字符(a-za-Z,汉字可以)、数字、下划线(_)、美元符号($)

数字不能开头

不能是关键字

a4标识符的命名规范?

大驼峰命名规范: 所有单词的首字母大写,其他小写。 比如: helloworld 。主要用于类名、接口名

小驼峰命名规范:首单词全部小写,其他单词的首字符大写,其他小写。 比如: lasttime. 主要用于方法名、变量名

 

【练习题】下列不可作为java语言变量名的是( )

a1

B、$1

C、_1

D、5a   //不可以 ,数字开头

E、num@   //不可以, @符号不是标识符的组成元素

F、class   //不可以,因为class是关键字

G、String   //可以, 但是不推荐, 因为String是字符串所使用类型。

 

--------12--------

类型转换

隐式类型转换(自动类型转换)

==小类型变量==赋值给==大类型变量==,小类型会自动进行提升为大类型。

Byte、short、char ---> int ---> long ---> float ---> double

【笔试题】指出下面一段代码中有问题的代码行号()

byte b = 10; short s = 20;

short s2 = b + s;

short s3 = s + 5;

short s4 = 10 + 20;

float f = 10 + 1.0;

double d = 10 + 1.0F;

 

强制类型转换

从==范围大==的类型到==范围小==的类型的转换,需要进行强制类型转换。

格式:

==目标数据类型 变量名 = (目标数据类型) 值或变量;==

Int a =10;

Byte b = (byte)a;

System.out.println(b); //10

Int aa = (int)88.88;

System.out.println(aa); //88

弊端:

==强制转换可能会造成数据精度丢失

/*

类型转换

*/

Public class conversiondemo {

Public static void main(String[] args) {

//自动类型转换

Double d = 10;

System.out.println(d);

 

//定义byte类型的变量

Byte b = 10;

Short s = b;

Int i = b;

 

//这是不可以的,类型不兼容

//char c = b;

 

//强制类型转换

Int k = (int)88.88;

System.out.println(k);

}

}

 

--------小结--------

为什么要进行数据类型转换?

Java这么语言是不允许不同类型的数据在一起运算,这种需求在实际中是经常发生的。在运算的时候让这些数据转换为同一种数据类型。

数据类型转换有哪些类型?

自动类型转换 小数据类型向大数据类型

强制类型转换 大数据类型---小数据类型

强制类型转换可能会出现什么问题?

丢失精度。丢失数据

//最后一题啦

【笔试单选题】以下关于数据类型的转换,说法错误的是( )

A:int a = 1; byte b = 1; System.out.println(a+b); 程序不会报错并且打印2  不会

B:int类型的数据转为double类型,需要强制转换。  //不需要  小--大  自动类型转换

C:int类型转成short砍掉2个字节,可能造成数据丢失。

D:short h = 1; h=h+1; 需要使用强制转换才能编译成功。

 

                              --------以上内容如果有错误 请尽情怼我!!!--------

                              谢谢

猜你喜欢

转载自www.cnblogs.com/ctw-C/p/11296762.html
今日推荐