#day01-java基础(代码片段)

zsr6135 zsr6135     2022-12-12     446

关键词:

Day01-Java

1、Java主要特点

简单性、跨平台性、分布性、安全性、健壮性、平台独立与可移植性、多线程、动态性、面向对象的编程语言、支持垃圾自动收集处理等,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用等多个系统中。

2、计算机的高级汇编语言类型:

编译型——c语言

解释型——html

编译型和解释型的结合——java

java运行原理源程序进行编译形成字节码文件在一台电脑进行解释程序

java最核心的部分就是虚拟机JVM

3、JVM(Java Visual Machine)

4、编写第一个Java程序并运行

新建Hello.java文件

public class Hello
	public static void main(String[] args)
		System.out.println("Hello Wordld!");
	

cmd运行javac Hello.java编译后形成字节码.class 运行java Hello

但是对于以上程序需要注意的几点就是

1>程序类的定义:类是我们Java中的基本单位,在所有的java程序中都是以类的形式存在的,在java中类的定义有两种

public class 类名称:在一个*.java文件中只能有一个public class ,运行时文件名必须和类名一致

class 类名称:在一个*.java文件里面可以使用class定义多个文件,在编译之后形成不同的**.class文件

但是在类名定义的时候有一个约定要求每一个单词的首字母必须大写即TestDemo,文件名称必须与类名称一致

2>信息输出:在屏幕上面输出的信息有两种形式一个是输出换行System.out.println()和输出不换行System.out.print()

3>主方法:

public class DeomTest()
    public static void main(String[] args)
        //主方法模板
    

5、CLASSPATH指的是类加载路径

即使现在不在.class生成的目录中也可以执行该目录下的.class文件,这个时候我们必须通过CLASSPATH来控制SET CLASSPATH=f:\\java\\javabase\\day01

如果你的classpath设置的目录很多很乱的话,对我们的程序解释执行很不方便,采用默认的机制:从当前类所在的路径进行类的加载,我们可以将CLASSPATH的内容设置为“.”

CLASSPATH是一个非常重要的概念,但是现在对其有个基本的认识,后期对CLASSPATH有更深的认识。

6、程序注释,对以后的所有代码都要进行注释,主页可以方便进行开发需求

单行注释://注释内容;

多行注释:/注释内容/”

文档注释:/*文档注释标记/

7、标识符和关键字

程序是一个逻辑的集合,所以每一个逻辑体都应该有自己的标记,例如在程序之中应该有一个标记例如:在程序中定义变量、定义常量、定义类名称和方法名称都有自己的要求。

在JAVA中标识符的命令如下:由字母、数字、_、$组成,其中不能以数字开头、不能使用Java中的保留字(关键字)

个人建议:标识符采用有意义的简单命名,如student_age、age;

"$"不要在代码中,因为其有特殊含义

在所有的程序之中都会有一个特殊的文本标记得到信息,这样的信息我们一般称为叫关键字

但是对于以上的关键字有以下几点说明:

1.java中有两个未使用到的关键字goto、const;

2.java中有三个特殊含义的单词(不算关键字):null,true,false;

3.JDK1.4之后追加了assert关键字

4.DK1.5之后追加了enum关键字

8、Java数据类型的划分以及数据类型的操作

程序就是一场数字游戏。

java数据类型的划分一般分为两大类:基本数据类型和引用数据类型

基本数据类型:

|-数值类型:表示整数和小数;

​ |-整型:byte、short、int、long -》 默认值是:0;

​ |-浮点型:float、double -》 默认值是:0.0;

|-字符型:char -》默认值是:’\\u0000’;

|-字符串型:stinrg -》默认值是:

|-布尔型:boolean -》默认值是:false

引用数据类型:数组、类、接口 -》默认值是:null

给出几个使用原则:

1>描述整形就是要使用int,描述小数就要使用double;

2>long这种数据类型一般会描述日期时间、内存或文件大小(字节)

3>如果需要进行编码转换或者进行二进制数据传输,使用byte(-128~127)

4>char一般在描述中文的时候使用到

5>在描述程序逻辑的时候是使用

数据类型划分——整形

关于变量得到命名要求:第一个单词的字母小写,而后的每个单词的首字母大写,例如maxValue

public class Hello
	public static void main(String[] args)
		int maxValue = Integer.MAX_VALUE;	//取得最大值
		int minValue = Integer.MIN_VALUE;	//取得最小值
		System.out.println(maxValue);		//2147483647
		System.out.println(minValue);		//-2147483648
		System.out.println(maxValue +1);	//数据溢出 (最小值)2147483647	
		System.out.println(minValue - 1);	//数据溢出 (最大值)-2147483648
	

错误: 编码GBK的不可映射字符

出现该问题:打开记事本-》文件-》另存为-》选择ANSI编码保存

使用long解决int数据溢出的问题

在使用此类方式处理之前请一定注意一个继续使用int进行计算的一个问题,计算结果依然会溢出,原因是先进行等号右边的int类型运算,将运算的结果赋值给long类型,所以说还是会溢出,解决办法就是,将其中的一个变量类型进行扩充,而扩充有两种是实现方式:

​ |-实现方式一:直接将int变量的内容赋值给long类型变量

​ |-实现方式二:直接将某一个int变量直接变为long类型变量

System.out.println(11 + l1); 面试区分1 和 l的细微差别

重要说明:关于数据类型的默认值问题

在之前所有的数据类型都有其默认值,但默认值在方法(主方法)声明中无效

有两种解决方案:一种是在是使用前进行赋值,另外一种是定义变量的时候进行赋值。但是在最早版本JDK时会出现问题,推荐使用第二种方式进行赋值。

数据类型划分——浮点形

double可以保存的数字是最大的,也就是double可以保存全宇宙中最大的有意义的

而除了double之外的 也可以使用float,但float的范围小于double,直接声明float变量时,那么要求在定义的时候进行强制类型转换,在一个数字后加一个字母’f‘、‘F’、或者在数字前面加个(float)

传统bug问题

既然说到了小数的问题就必须考虑一下整形计算的问题

数据类型划分——字符型

用char进行表示,而且赋值使用单引号’'来声明字符型的字符变量的内容可以与int类型进行转换。

char类型的变量变为int类型的变量内容的时候其所包含的就是编码

大写字母AscII(A-Z):65(A)~~90(Z)

小写字母AscII(a-z):97(a)~~122(z)

字符数字(‘0’‘9’):48(‘0’)~57(‘9’)

在其他的语言中可能使用的ASCII编码,而在java中使用的是UNICODE编码,正在因为在java中对于字符的特效支持特别好,所有还有另外一类神奇的用法。

数据类型划分——布尔型

对于布尔型的内容需要说明:在其他语言中由于没有提供布尔型的数据 ,我们会使用数字来描述布尔型,例如0表示false,非0表示true,但是java中没有这个概念。

数据类型划分——字符串型

在字符串中使用了”+“表示两个字符的内容进行连接;一旦字符串有了”+“,则所有的数据类型都变为String类型。如果这时候想要得到正确的计算结果,那么必须使用我们的”()“解决问题。

在java中还存在一种叫做转义字符的概念,几个常用的转义字符换行(\\n)、制表符(\\t)、双引号(\\")、以及单引号(\\’)、\\(\\)。

9、运算符

自增、自减操作

​ |-++变量:++x 先自增再运算,x++ 先运算再自增

​ |—变量: --x 先自减再运算,x-- 先运算再自减

三目运算符

三目运算是一种赋值运算,根据条件进行运算

数据类型 变量 = 布尔表达式 ? 条件满足时赋值内容 : 条件不满足时赋值内容

例:将两个变量之中大的内容赋值给新的变量

关系运算符

大于>、小于<、等于=、不等于!=、等于==,最终的结果都是boolean布尔型

逻辑运算

与&&、或||、非!

位运算

十进制与二进制的转化,数据除2取余,一直除到0为止,将余数倒序排列。

移位

进制

出错原因是因为023为八进制 进行进制转化为十进制 为19

面试题:请解释&&和&、||和|的区别?

与操作:

​ |-&&:表示逻辑与运算,若干个判断只要有其中的一个条件为false,后面的不需要再进行判断,结果为false

​ |-&:表示所有的判断都要执行

或操作

​ |-||:表示逻辑与运算,若干个判断只要有其中的一个条件为true,后面的不需要再进行判断,结果为true

​ |-|:表示所有的判断都要执行

位运算:

​ |-&:运算的两个数据位,只要有一个0,其结果就为0

​ |-|:运算的两个数据位,只要有一个1,其结果就为1

day01(java基础)

2021-11-101.JDK,JRE,JVM三者之间的关系,以及JDK、JRE包含的主要结构有哪些?JDK=JRE+Java的开发工具(javac.exe,java.exe,javadoc.exe)JRD=JVM+Java核心类库2.如何配置环境java 查看详情

01day_java基础语法

1、Java开发环境概述JDK:Java开发工具包(JavaDevelopmentKit),包括java编译器、java运行时环境和常用的类库;JRE:Java运行时环境(JavaRuntimeEnvironment)。2、跨平台特性①平台指的是操作系统(Windows,Linux,Mac)②Java程序可以在任意... 查看详情

java基础day03-2(代码片段)

Java基础day03-2方法的重载规则方法名必须相同参数列表必须不同(个数不同/类型不同/参数排列顺序不同等)方法的返回值类型可以相同或不同publicstaticvoidmain(String[]args)intmax=max(10,21);//doublemax=max(10,20); variablemaxisalreadydefinedinthescope... 查看详情

#day05-java基础(代码片段)

Day05-Java1、String类1.1两种对象实例化方式对于String在之前已经学习过了基本使用,就是表示字符串,那么当时使用的形式采取了直接赋值:publicclassStringText publicstaticvoidmain(Stringargs[]) Stringstr=newString("Hello");/ 查看详情

#day07-java基础(代码片段)

Day07-Java1、static关键字1.1使用static关键字定义属性在讲解static定义属性操作之前,首先编写如下一道程序。现在定义一个表示中国人的操作类,所有人所在的国家为中国。classPerson privateStringname; privateintage; Stringcountry=&#... 查看详情

#day11-java基础(代码片段)

...具1.1Eclipse历史1.2快捷键1.3Debug调试1.4JUNIT测试工具2、Java基础新特性2.1可变参数2.2foreach输出2.3静态导入3、JDK三大主要特性——泛型3.1泛型的引出3.2泛型实现3.3通配符3.4泛型接口3.5泛型方法4、JDK三大主要特性——枚举4.1多例与枚... 查看详情

#day10-java基础(代码片段)

Day10-Java文章目录Day10-Java1、异常的捕获与处理1.1处理异常1.2异常处理的流程1.3throw关键字1.4异常处理模型1.5RuntimeException1.6断言:assert1.7自定义异常2、链表2.1链表基本的结构2.2链表实现结构说明2.3增加链表数据—publicvoidadd(数... 查看详情

#day13-java基础(代码片段)

Day13-Java文章目录Day13-Java1、线程池1.1线程池概念1.2线程池的实现2、StringBuffer类面试题:请解释String、StringBuffer、StringBuilder的区别?3、Runtime类面试题:什么叫gc?如何处理4、System类面试题:请解释final、finally、final... 查看详情

#day17-java基础(代码片段)

Day17-Java文章目录Day17-Java1、类集1.1认识类集1.2Collection集合接口1.3List接口简介1.3.1ArrayList子类1.3.2Vector子类面试题:请解释ArrayList与Vector区别?1.3.3LinkedList子类面试题:请解释ArrayList与LinkedList区别?1.4Set接 查看详情

#day18-java基础(代码片段)

Day18-Java文章目录Day18-Java1、Map集合1.1子类:HashMap面试题:解释HashMap的原理1.2子类:Hashtable1.3ConcurrentHashMap子类1.4Map使用Iterator输出1.5Map中的key实现说明1.6TreeMap子类1、Map集合偶对象指的是一对对象,即:两个对 查看详情

#day09-java基础(代码片段)

Day09-Java文章目录Day09-Java1、匿名内部类2、Object类简介2.1取得对象信息toString()2.2对象的比较equals()2.3Object接口引用数据类型3、包装类3.1装箱与拆箱3.2字符串与基本数据类型的转换3.3包的定义3.4包的导入4、访问控制权限5、jar命令1... 查看详情

day04_java基础(代码片段)

day04_java基础&IDEA开发工具一、课程目标2.【理解】什么是数组3.【掌握】数组的定义及初始化4.【理解】数组的内存图6.【理解】数组常见的问题7.【掌握】数组的案例8.【理解】二维数组三、一维数组3.1什么是数组数组就是存... 查看详情

day04_java基础(代码片段)

day04_java基础&IDEA开发工具一、课程目标2.【理解】什么是数组3.【掌握】数组的定义及初始化4.【理解】数组的内存图6.【理解】数组常见的问题7.【掌握】数组的案例8.【理解】二维数组三、一维数组3.1什么是数组数组就是存... 查看详情

#day08-java基础(代码片段)

Day08-Java文章目录Day08-Java1、多态性1.1向上转型1.2向下转型2、抽象类2.1抽象类的基本概念3、接口3.1接口的基本概念3.2接口的使用限制3.3使用接口定义标准3.4抽象类与接口的区别1、多态性多态性是面向对象的最后一个特征,它... 查看详情

day03_java基础语法(代码片段)

day03_java基础语法一、课程目标二、switch语句2.1switch语句格式switch(表达式)case值1:语句体1;break;case值2:语句体2;break;...default:语句体n+1;break;2.2执行流程首先计算出表达式的值其次,和case依次比较,一旦有对应的值,就... 查看详情

day03_java基础语法(代码片段)

day03_java基础语法一、课程目标二、switch语句2.1switch语句格式switch(表达式)case值1:语句体1;break;case值2:语句体2;break;...default:语句体n+1;break;2.2执行流程首先计算出表达式的值其次,和case依次比较,一旦有对应的值,就... 查看详情

sklearn机器学习基础(day02基础入门篇)(代码片段)

文章目录基本算法使用(Sklearn)算子API调用分步曲数据分析分步曲分类算法KNN算法网格优化KNN案例(预测facebook签到位置)数据清洗KNN处理预测完整代码朴素贝叶斯算法决策树案例可视化决策树随机森林回归与聚类算... 查看详情

#day06-java基础(代码片段)

Day06-Java1、this关键字首先需要提醒的是,在整个Java之中,this是最麻烦的一个关键字,只要是代码开发,几乎都离不开this。在Java中this可以完成三件事情:表示本类属性、表示本类方法、表示当前对象(只... 查看详情