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,一经查实,立即删除!

相关文章

移动端日期选择插件rolldate

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

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

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

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;如果…

如何使用JSON和Servlet创建JQuery DataTable

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

页面重绘 回流及其优化

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

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

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

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

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

小程序如何发红包

咳咳&#xff0c;直入主题。敲黑板&#xff0c;请看下面一段对话。 产品&#xff1a;我想要小程序发红包这个功能 程序员&#xff1a;目前不支持啊 产品&#xff1a;我不管&#xff01; 程序员&#xff1a;做不到啊&#xff0c;这。。。 产品&#xff1a;我不管&#xff01;我不…

如何实现REST资源的输入验证

如何实现REST资源的输入验证 我正在使用的SaaS平台具有一个RESTful接口&#xff0c;该接口可以接受XML有效负载。 实施REST资源 对于像我们这样的Java商店&#xff0c;使用JAX-B从XML Schema生成JavaBean类是有意义的。 在像Jersey的JAX-RS环境中&#xff0c;使用JAX-B处理X…

Linux系统下,MySQL以及禅道的安装/卸载

1、MySQL卸载&#xff1a; &#xff08;通过yum命令卸载之前安装的mysql&#xff0c; find命令找到mysql文件&#xff0c;再用rm –rf 强制删除/var/lib/mysql&#xff09; 2、MySQL安装&#xff1a; &#xff08;使用yum命令安装mysql&#xff0c;安装完成后启动数据库&#x…

winform 点击全选

代码如下&#xff1a; #region 全选//chkAll_Checked即全选控键的点击事件private void chkAll_CheckedChanged(object sender, EventArgs e){if (chkAll.Checked){chkSun.Checked true;chkMon.Checked true;chkThu.Checked true;chkTue.Checked true;chkWed.Checked true…

今天的考核题目: 你知道React和Vue的区别吗? skr,skr

React 和 Vue 的区别 博主面了几家公司&#xff0c;看简历上写着使用Vue.js框架&#xff0c;就会问&#xff0c;你能说一说 vue 和 react的区别吗 &#xff1f;react 听过&#xff0c;没用过&#xff0c;所以就只能尴尬的说不怎么了解react。这不&#xff0c;最近刚学了react …

Play和Grails Java框架的优缺点

框架通过为程序员提供一些有用的功能来简化应用程序开发过程。 由于开发人员的普遍使用&#xff0c;Java框架经常被开发人员使用。 您可以在市场上找到各种Java开发框架。 新手开发人员经常在论坛上发布一个常见问题&#xff1a;“哪种Java框架是最好的&#xff1f;” 首先&am…

argb888与rgb888转换程序_一文了解各平台RGB565和RGB888区别

原标题&#xff1a;一文了解各平台RGB565和RGB888区别用过AM335x平台的小伙伴应该知道&#xff0c;OK335xS开发平台的LCD接口是RGB888模式的&#xff0c;而OK335xD开发平台的LCD接口是RGB565模式的。如果把xS的镜像烧写到xD平台上&#xff0c;那么LCD会显示颜色异常。这是为什么…

d4d#9 玩Docker只要浏览器就够了,PWD是个神奇的网站

本文是d4d系列的第9篇&#xff0c;在这一篇中给大家介绍一个学习Docker最为快捷高效的方式&#xff0c;你不需要自己搭建环境&#xff0c;也不用担心把自己的开发环境搞乱&#xff0c;你需要的只是一个浏览器&#xff0c;就可以立即开始学习Docker的常用命令&#xff1b;你甚至…

基于 Docker 打造前端持续集成开发环境

知乎: https://zhuanlan.zhihu.com/p/37961402本文将以一个标准的 Vue 项目为例&#xff0c;完全抛弃传统的前端项目开发部署方式&#xff0c;基于 Docker 容器技术打造一个精简的前端持续集成的开发环境。 前置知识&#xff1a;1. CI&#xff08;持续集成&#xff09;&#xf…