Java语言基础及java核心

一、Java语言特点

1、 简单

2、 面向对象

3、 分布式

4、 健壮

5、 安全

6、 中性架构跨平台

7、 超强的可移植性

8、 高性能

9、 多线程

二、java的环境变量

JAVA_HOME=C:\Program Files\Java\jdk1.8.0_101  (到你的安装目录下)

CLASSPASH=./  (点代表当前路径)

PATH=%JAVA_HOME%;

三、环境变量详解

1、JAVA_HOME

  a)      Java的主目录,就是java的安装目录

  b)     用来识别hava安装位置

2、PATH

  a)      操作系统执行命令的搜索路径

  b)     Windows和linux都有

  c)      当os执行命令的时候,会再PATH指定的路径中搜索

  注意:WindowsXP使用“;”分号分隔路径,Linux使用“:”冒号分隔路径,都是英文下。

       要保留系统原始的PATH,不然会造成OS的混乱,甚至不能引导

3、CLASSPATH

  Java的类的搜索路径,类就是java的可执行文件,JVM利用CLASSPATH搜索用到的类,类似于PATH

 

四、第一个java程序

 

五、java的注释


1、注释

       被java编译器忽略的部分

       用于对代码进行标注,生成文档

  用于临时取消部分代码段

2、 注释语法,有三种:

  单行注释:由//引导,到当前行尾结束

    //内容内容内容

  多行注释:由/*开始到*/结束,注释多行

    /*内容内容内容*/

  文档注释:由/**开头,*/结束,注释多行,用于生成文档,放在被注释的对象之前

    /**内容内容内容*/

                                                     注释示例

 

六、包

  包,是java中用于对于资源进行分类的

  a)      如:相关的类放在同一包下,系统包:java.io,java.swing

  b)     类似于OS文件系统中,文件夹是对文件分类的。

  c)      在当前类中使用其他包中的资源,需要导入进来:import java.util.*;或者import Java.util.Random;

  d)     在java源文件中默认导入java.lang.*;

  e)     Import语句在package以后

七、标识符

1、标识符:在java语言中用来给一个类、变量或方法命名的符号标识

2、Java标识符的规则

  a)      以 字母、$、_  为开头,不能以数字开头

  b)     第二个字符开始是字母、数字、$、_

  c)      不限制长度

  d)     不能是java的关键字

  e)     带小写是敏感的

  f)      字母,可以是中文

  g)     例如:identifier _sys_ var1 $char userName user_name 美女

八、变量

1、  变量的声明时必须指定变量的类型。

2、  在方法中声明的变量成为局部变量。

3、  局部变量在使用前必须初始化(第一次的赋值操作称为初始化)

4、  变量不能重复定义

 

九、数据类型

1、  Java是强类型语言,任何数据都是有类型的

2、  计算机中一切都是数据

3、  Boolean 布尔类型

4、  Char 字符类型

5、  Byte 字节整数类型,8位有符号整数

6、  Short 短整数类型,16位有符号整数

7、  Int 整数类型,32位有符号整数

8、  Long 整数类型,64位有符号整数

9、  Float 浮点类型,32位有符号浮点数

10、         Double浮点类型,64位有符号浮点数

十、运算符

 

 

序号

描述

运算符

1

括号和引用

()   []   .

2

单目运算符

++  --  !  ~

3

算数运算符

*  /  %  +  -

4

关系运算符

>  >=  <  <=  ==  !=

5

逻辑运算符

&&  ||  &  |

6

位运算符

<<  >>  >>>  &  |  ^

7

条件运算符

?  :

8

赋值运算符

=  +=  -=  *=  /=  %=  >>=

>>>=  <<&=  |=  ^=

十一、分支语句

1、if

 

 

2、If嵌套

  练习1:给你5个整数,你输出最小值

  练习2:计算一下出租车的车费,车费由两部分组成:

  公里数:0-3公里收10元;4-15公里每公里2元;15公里以上的部分每公里3元。

  等候时间:每2分半收1元,不足2分半的不收费

  规则:不足1公里的按1公里计算,车费是公里数+等候时间的钱。

  比如:18公里299秒,应收车费44

  要求:输入公里数和秒数,输出车费。

 

3、 For

 

 

4、 while

 

 

5、break continue return(转向语句)

  continue:终止本次循环,继续下次循环;

  break:跳出最内层循环;

  return:直接跳出方法体

  练习3:1~100的质数

  练习4:36个人搬36块砖,男人一个人搬4,女3,小孩2个人搬1块,所有人一次搬完,几男几女几小孩。

十二、数组

1、 数组的声明:

  Int[]arr;

2、 数组的初始化:

  Int[]arr={1,2,3};

  Int[]arr=new int[4];

3、 数组的访问

  Int[]arr={1,2,3};

  Intx=arr[2];  //取出下标为2的元素

4、 长度  arr.length

5、 数组元素的初始化操作

  Int[]arr=new int[4];

  For(int i=0;i<arr.length;i++){

  Arr[i]=i+1;

  }

6、 打印数组

  Java.util.arrays;

  System.out.println(arrays.tostring(arr));

  练习5:双色球,红球33选6,蓝球16选1


十三、字符串常用的方法

 

 

十四、方法

  [修饰符]返回类型  方法名(参数类型 参数变量,参数类型2  参数变量2){

      方法体

  }

1、 修饰符可以使0~n个,但是要保证正确使用。

2、 方法的参数可以是0~n个。

3、 方法的参数是局部变量。

4、 如果方法有返回值(返回类型是void),那么该方法就必须有return语句,用来返回和返回类型相兼容的数据,此时retunrn后面必须加数据,。

5、 如果方法无返回值(返回类型是void)那么该方法中可以有retunrn语句(也可以没有),如果有return语句用来直接跳出方法体,此时retunrn后面一定不能加数据。

 

6、 方法中不能嵌套方法。

7、 实参:实际传入方法中的参数,相当于给变量初始化。

8、 形参:形式参数,是方法临时定义的参数,相当于只声明了变量。

十五、对象与类

  世间万物,一切皆对象。

  我们将一组具有相同数据和操作的对象抽象为一种类型,这个类型就是类

1、java类的语法

 

2、成员变量

  在类体中方法外定义的变量成为成员变量

  成员变量java编译器会给他们提供默认值

  成员变量的作用范围比局部变量大

3、构造器

  与类名相同,描述对象的创建过程,不能声明返回值,使用new运算调用


4、默认构造器

  a)      每个类都有构造方法

  b)     如果类没有定义构造方法,java将自动添加默认构造方法

  c)      默认构造方法是公有空实现的

  d)     如果定义了构造方法,就不再提供默认构造器了

  例如:pbulic student(){}

5、 This

  代表当前对象本身,是当前对象的引用,就像交谈对话中的带刺“我”代表说话人本身

  用法:引用当前对象的成员:属性或方法,经常用来区分实例变量和局部变量,例如:

           public student(string name,int age){

      this.Name=name;

      this.age=age;

    }

6、 练习

  案例描述:写一个person类代表人,包括以下属性:

  String name;int age;char gender;person partner.

  为person类写一个marry(person p)方法,代表当前对象和p结婚,如若可以结婚,则输出恭贺新禧,否则输出不能结婚的原因。要求在另一个类中写一个主方法,来测试以上程序(以下情况不能结婚:1同性;2未达到结婚年龄,男<22,女<20;3某一方已结婚)。

7、 继承

  a)用来描述自然界中类型之间是“is a”的关系

  例如:班长是学生,经理是员工

  被继承类叫父类,继承类叫子类,子类可以继续继承

  子类实例也是父类实例

  子类默认继承父类的属性和方法

  构造器不能被继承

  b)java是单一继承语言

        子类只能有一个父类

  没有父类,默认继续与java.lang.Object

8、 重写

  方法的重写一定是在子类中声明

  方法名相同,参数类型相同

9、 访问权限修饰符

 

10、 static

  静态变量和方法

       直接使用类名来访问

      如:integer.parseint(string str),math.sin(double v)

11、final

 

12、abstract

  a)抽象方法

          使用abstract修饰,没有方法体定义

    抽象方法只能放在抽象类中

  b)抽象类

         使用abstract修饰的类

         包含抽象方法的类一定是抽象类

         一个类继承了抽象类应该重写并实现抽象类中所有的抽象方法

         抽象类不能被实例化,可以用来引用子类的实例

13、 封装类

    包装类可以把基本类型包装为对象类型,java一共有8种包装类,分别是:

基本类型

所对应的包装类

byte

Byte

short

Short

int

Integer

long

Long

float

Float

double

Double

boolean

Boolean

char

Character

 

14、封装类常用的API

包装类提供了对应数据类型的工具方法

常用的API有:

1>Integer.toHexString(); 以16进制的形式将int值输出

2>Integer.toString(int); 以10进制的形式将int值输出

3>Integer.toBinaryString(); 以2进制的形式将int值输出

4>Integer.parseInt(String); 将字符串转换为对应的int类型

6>Double.parseDouble(String str); 将字符串转换为对应的double类型

在java5以后支持自动装箱和解箱。

15、 ArrayList

1>底层是用数组实现的。

2>迭代和查找速度快。

3>创建 ArrayList list = new ArrayList();

4>常用的API:

A)list.add(Object obj); 将元素obj添加到集合的尾部。

B)list.remove(int index); 从集合中删除下标为index的元素,同时返回这个元素。

C)list.remove(Object obj); 从集合中删除首次出现的obj元素,如果存在则删除同时返回true,不存在返回false。

D)list.get(int index); 从集合中取出下标为index的那个元素。E)list.size(); 返回集合的大小。

F)list.isEmpty(); 验证集合是否没有元素,如果没有返回true,反之返回false。

G)list.add(int index,Object obj); 将指定的元素插入到下标为index的位置。

16、异常

              软件过程运行中出现的意外错误,java提供了一套处理错误机制叫:异常控制

              异常是方法运行期间出现的,发生异常,叫:异常的抛出,在代码出现意外的时候可以用throw抛出异常实例。

              在方法上定义可能抛出的异常,叫异常的声明,在方法上使用throws声明异常

              使用java语法处理方法抛出的异常,叫异常的捕获,使用try…catch…finally捕获处理异常


转载于:https://www.cnblogs.com/haifeima/p/8962589.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/367155.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用Quartz Scheduler和日志记录创建Web应用程序

我有时会在Quartz Scheduler论坛中为用户提供帮助。 有时&#xff0c;有人会问他/她如何在Web应用程序中设置Quartz。 实际上&#xff0c;这是一件相当简单的事情。 该库已经带有一个ServletContextListener &#xff0c;您可以使用它启动调度程序。 我将在这里向您展示一个简单…

移动端日期选择插件rolldate

rolldate为上一版jquery移动端时间插件的全新版本&#xff0c;目前保留了上一版的大部分功能&#xff0c;并且增加了回调函数&#xff0c;以及主题风格选取&#xff0c;最重要的是解决了上一版本的遗留问题&#xff0c;依赖jquery、滑动不够流畅、参数设计不够合理等等。开发日…

ik分词器 mysql php_php环境下使用elasticSearch+ik分词器进行全文搜索

首先需要说明的一点是&#xff0c;如果需要启用ik分词器&#xff0c;那么分词器的版本必须与es版本一致&#xff0c;即6.3.0的分词器需要同样6.3.0版本的es支持。安装javawin-64bit的安装包需要去java英文官网查找安装ES6.3.0版本es下载地址&#xff1a;https://www.elastic.co…

服务器如何查看gpu型号,linux 查看服务器gpu

linux 查看服务器gpu 内容精选换一换本节操作介绍通过华为云APP连接Linux实例的操作步骤。云服务器状态为“运行中”。已获取Linux云服务器用户名和密码&#xff0c;忘记密码请参考在控制台重置云耀云服务器密码重置密码。云耀云服务器已经绑定弹性公网IP。所在安全组入方向已开…

Antd-Select组件的深入用法

一、Antd-Select提供几种类型 最基础版只提供下拉功能的选择器带搜索功能的下拉选择器可多选的下拉选择器可搜索、可多选、可随意输入内容的tag下拉选择器(支持自动分词)多级联动下拉选择器搜索远程数据下拉框二、一些潜在用法 如果Select.Option选项的数量特别大:2k、3k... 假…

WS-Security:使用BinarySecurityToken进行身份验证

众所周知&#xff0c;WS-Security设定的目标之一是对SOAP消息强制执行完整性和/或保密。 在完整性的情况下&#xff0c;添加到SOAP消息的签名是数学过程的结果&#xff0c;该过程涉及发送者的私钥&#xff0c;从而导致加密的消息摘要。 默认情况下&#xff0c;大多数框架&…

Vue(ES6)中的data属性为什么不能是一个对象?

以下引官网原文&#xff1a;当一个组件被定义&#xff0c;data 必须声明为返回一个初始数据对象的函数&#xff0c;因为组件可能被用来创建多个实例。如果 data 仍然是一个纯粹的对象&#xff0c;则所有的实例将共享引用同一个数据对象&#xff01;通过提供 data 函数&#xff…

echarts vue 柱状图实例_VUE中使用Echarts绘制柱状图

在main.js中引入echartsimport echarts from ‘echarts‘Vue.prototype.$echarts echarts在相应的vue中导入echartsimport echarts from ‘echarts‘;实现柱状图显示mounted: function () {// 基于准备好的dom&#xff0c;初始化echarts实例let myChart echarts.init(documen…

从计算机体系结构方面思考深度学习

今年 1 月&#xff0c;谷歌人工智能负责人 Jeff Dean&#xff08;当时还是谷歌大脑负责人&#xff09;与 2017 年图灵奖得主、体系结构巨擘 David Patterson&#xff08;当时获奖结果尚未公布&#xff09;联合发表了题为《计算机体系结构黄金时代&#xff1a;赋能机器学习革命》…

使用Apollo通过WebSocket通过STOMP轻松进行消息传递

在我以前的文章中&#xff0c;我介绍了几个有趣的用例&#xff0c;这些用例使用著名的消息代理HornetQ和ActiveMQ通过Websockects实现STOMP消息传递。 但是我没有介绍的是Apollo&#xff0c;因为我个人认为它的API是冗长的&#xff0c;并且不像Java开发人员那样表现力强。 尽管…

h5渲染性能一瞥

内容来源&#xff1a;2018 年 6 月 30 日&#xff0c;饿了么前端主管向勇在“饿了么技术沙龙・第27弹 【前端专场】”进行《h5渲染性能一瞥》演讲分享。IT 大咖说&#xff08;微信id&#xff1a;itdakashuo&#xff09;作为独家视频合作方&#xff0c;经主办方和讲者审阅授权发…

爬虫系列之requests

爬取百度内容&#xff1a; 1 import requests2 url "https://www.baidu.com"3 4 if __name__ __main__:5 try:6 kv {user-agent: Mozilla/5.0}7 r requests.get(url, headerskv)8 r.raise_for_status() #返回状态值&#xff0c;如果…

高并发常见面试题

1、线程与进程 进程是一个实体。每一个进程都有它自己的地址空间&#xff0c;一般情况下&#xff0c;包括文本区域&#xff08;text region&#xff09;、数据区域&#xff08;data region&#xff09;和堆栈&#xff08;stack region&#xff09;。文本区域存储处理器执行的代…

如何使用JSON和Servlet创建JQuery DataTable

在本文中&#xff0c;我将介绍使用简单servlet传递的JSON创建JQuery DataTable所需的基本编码。 DataTable是基于JQuery的非常强大的网格&#xff0c;具有高级功能&#xff0c;可以使用自定义功能在短时间内构建。 安装 下载最新的JQuery DataTable下载 上面的下载将提供两个…

python将json转换为excel_使用python将Excel转换为JSON_python_酷徒编程知识库

我有一个excel文件&#xff0c;我想转换为JSON文件&#xff0c;excel类似于&#xff1a;Col A Col C Col F1 A EE2 B FF4 C FF5 D HH6 D HH7 A EE8 E EE希望JSON遵循以下格式&#xff1a;{"EE": {"A": {"Col A key":"1","Col A k…

页面重绘 回流及其优化

在讨论页面重绘、回流之前。需要对页面的呈现流程有些了解&#xff0c;页面是怎么把html结合css等显示到浏览器上的&#xff0c; 下面的流程图显示了浏览器对页面的呈现的处理流程。可能不同的浏览器略微会有些不同。但基本上都是类似的。 1. 浏览器把获取到的HTML代码解析成1…

Servlet异常和错误处理示例教程

有时我写了一篇有关Java异常处理的文章&#xff0c;但是当涉及到Web应用程序时&#xff0c;我们需要的不仅仅是Java中的异常处理。 Servlet异常 如果您注意到&#xff0c;doGet&#xff08;&#xff09;和doPost&#xff08;&#xff09;方法将抛出ServletException和IOExcept…

前端介绍开始(—)

web 的组成浏览器服务器&#xff1a;代替用户向服务器发送请求通信协议&#xff1a;规范数据传输及打包方式&#xff08;http,https&#xff09; 服务器&#xff1a;1 作用&#xff1a;1 接收用户请求并响应 2 存储数据3 具有安全性功能2 产品&#xff1a;1 Tomcat2 Aapache3 N…

python数据结构与算法13_python 数据结构与算法 (13)

python 数据结构与算法 (13)选择排序 (Selection sort) 是? 种简单直观的排序算法. 它的? 作原理如 下.? 先在未排序序列中找到最?(?)元素, 存放到排序序列的起始位 置, 然后, 再从剩余未排序元素中继续寻找最?(?)元素, 然后放到已排 序序列的末尾. 以此类推, 直到所有元…

算法10-----分糖果

1、题目&#xff1a; N个孩子在队伍中&#xff0c;每个孩子都有一定的等级值&#xff0c;相邻两个孩子等级高的拿到的糖果数量要比等级低的多&#xff0c;且每个孩子至少有一个糖果&#xff0c;所以最少队伍一共需多少糖果。 There are N children standing in a line. Each ch…