Java基础

  • JAVA基础
    • Java是强类型语言
    • Java数据类型
    • 类型转换
    • 变量
    • 常量
    • 运算符
    • 包机制
    • JavaDoc
  • JAVA流程控制
    • 用户交互Scanner
    • 顺序结构
    • 选择结构
    • 循环结构
    • break & continue & goto
  • Java方法
    • 方法的定义及调用
    • 方法重载
    • 命令行传参
    • 可变参数
  • 数组
    • 数组概述
    • 数组声明
    • 数组使用
    • Arrays类
    • 稀疏数组
  • 面向对象编程
  • 异常机制

JAVA基础

Java是强类型语言

  • 要求变量的使用要严格符合规定,所有变量都必须先定义才能使用。

Java数据类型

  1. 基本类型
    数值类型、Boolean类型
  2. 引用类型
    类、接口、数组

类型转换

低—>高
byte,short,char—>int—>long—>float—>double

强制类型转换
(新类型)变量名 高–>低
自动类型转换
低–>高
JDK7新特性,数字之间可以用下划线分割

 int money=10_0000_0000;

变量

程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

常量

final 变量类型 变量名 = 变量值
常量不可更改

运算符

算术、赋值、关系、逻辑、位、条件、扩展赋值运算符

包机制

包的本质就是文件夹
为了更好的组织类,用于区别类名的命名空间。
一般利用公司域名的倒置作为包名

import 包名

推荐阅读:《阿里巴巴JAVA开发手册》

JavaDoc

javadoc命令是用来生成自己API文档的

参数信息
@author 作者名
@version 版本号
@since 指定需要最低使用的JDK版本
@param 参数名
@return 返回值情况
@throws 异常抛出情况

JAVA流程控制

用户交互Scanner

java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。
(alt+enter自动补全)

Scanner s = new Scanner(System.in);
s.close();

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要 使用hasNext()与hasNextLine()判断是否还有输入的数据。

顺序结构

基本结构,一句一句的执行

选择结构

  • if 单选泽结构
  • if 双选择结构
  • if 多选择结构
  • 嵌套的if结构
  • switch多选择结构

循环结构

  • while 循环
  • do…while循环
  • for 循环
    支持迭代的一种通用结构,是最有效、最灵活的循环结构
100.for  //快捷键

break & continue & goto

break&continue和其他语言一个意思
goto在Java中是一个保留字,但在语言中并没有用到它;Java没有goto。但是,Java也能完成一些类似于跳转的操作,主要是依靠:标签

goto使用格式:goto + 标签
标签语法:标签名:……(跟随语句)

Java方法

方法即函数
是语句的集合,它们在一起执行一个功能。

方法的定义及调用

修饰符 返回值类型 方法名(参数类型 参数名){方法体return 返回值;
}

方法重载

重载就是在一个类中,有相同的函数名称,但是形数不同(个数不同、或类型不同、参数排列顺序不同)
仅返回值类型不同不足以成为方法的重载

命令行传参

传参数给main()方法

可变参数

在方法声明中,在指定参数类型后加一个省略号(…)

public void test(int... i){}

一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。

数组

数组概述

数组是相同类型数据的有序集合

数组声明

dataType[] arrayRefVar;//首选方法
dataType arrayRefVar[]; //效果相同,但不是首选方法
使用new操作符来创建数组
dataType[] arrayRefVar = new dataType[arraySize];
array.length

数组使用

array[n]

Arrays类

java.util.Arrays

稀疏数组

压缩存储

面向对象编程

以类的方式组织代码,以对象的组织数据

  • 封装

    • 隐藏数据
    • 隐藏操作代码细节
    • 统一接口
    • 增加可维护性
  • 继承
  • 多态

接口可以多继承,抽象类只能单继承(implements)
接口不能被实例化,接口中没有构造方法
必须要重写接口中的方法。

内部类
内部类就是在一个类的内部再定义一个类。

  1. 成员内部类
  2. 静态内部类
  3. 局部内部类
  4. 匿名内部类

异常机制

检查性异常
运行时异常
错误

异常处理框架(把异常当做一个对象处理)

  • try
  • catch
  • finally
  • throw
  • throws
int a = 1;
int b = 0;
try{system.out.println(a/b);
}catch(arithmeticException e){system.out.println("程序出现异常");
}finally{system.out.println("finally");
}

ctrl+alt+t 自动补全try

throw throws 区别

throw 只是向外抛出异常实例
throws 声明了可以让调用者可以捕捉到那些异常

自定义异常
用的比较少

【运维能力提升计划-1】:JAVA基础相关推荐

  1. 【运维能力提升计划-3】Java多线程详解

    Java多线程详解 学习链接 Java.Thread 线程简介 线程 进程 多线程 线程实现 Thread 继承Thread类 调用run方法只有主线程一个线程,调用start方法生成子线程与主线程并 ...

  2. 中国E动网陈明华:云计算不拼人 拼“运维能力”

    IDC评述网12月18日报道:由IDC评述网组办"2014-2015年度十佳IDC评选"于11月08日正式启动投票,活动将持续4个多月,截止至2015年02月05日结束.本次评选, ...

  3. Lunx运维监控_shark巨菜_基础篇

    Lunx运维监控_shark巨菜_基础篇 一.监控重要性 单单从"监控"两个字来谈,范围之广可以涵盖我们生活的方方面面,我们生活和工作中处处可见视频监控的摄像机:机房中的电压电流监 ...

  4. linux java 工具_Linux运维知识之linux下java版本管理工具jenv使用介绍

    本文主要向大家介绍了Linux运维知识之linux下java版本管理工具jenv使用介绍,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 不同的项目使用的java版本不同,每次切 ...

  5. 嘉年华回顾丨 王津银带你深入解析自动化运维能力框架

    2020年数据技术嘉年华进入倒计时,相信大家期待值也越来越高.数据技术嘉年华组委会在此精心为大家准备了"嘉年华回顾",挑选往届大会中热门的演讲.小编带大家回顾往届的高光时刻!场场精 ...

  6. 如何有效的制定团队能力提升计划?

    一个人的能力再大,格局再高,也不可能做完所有的事情,另外:人的精力体力也都是有限的. 要想保证公司这十几个产品的进度与质量,部门的整体实力要提升,个人综合能力要跟上. 那么,从部门管理角度,如何提升测 ...

  7. 软件技术专业大学生该如何制定职业综合能力提升计划

    记得那还是五年级的时候,那时班主任叫我们写上自己的理想吧.我就记得自己写了成为一个对社会有用的人,而别的同学都写上科学家和老师等等.但随着不断的成长,我们都走上了自己特定的人生轨道.这个时候我们不能再 ...

  8. 服务器运维基础知识,运维技术必须了解的服务器基础知识

    [小影提醒]文章部分内容源于互联网收集整理,不代表影速观点!若有咨询"运维技术必须了解的服务器基础知识"等有关服务器.云主机租用.托管.配置.价格问题,请随时咨询影速科技客服,享受 ...

  9. 【Python自动化运维】Python环境安装及基础语法

    [Python自动化运维]Python环境安装及基础语法 1. Python环境安装 2. Python基础语法 1. Python环境安装   pyenv官方安装手册:https://github. ...

最新文章

  1. 联邦学习怎样应用在推荐系统中?
  2. 启用CentOS6.5 64位安装时自带的MySQL数据库服务器
  3. QtCreator集成开发环境编译调试VLC
  4. visual studio创建项目时需要注意的问题
  5. Python面向对象中super用法与MRO机制
  6. html弹出div提示自动关闭,html弹出div弹窗
  7. 算法训练 字符串编辑c语言
  8. 购买阿里云ECS服务器忘记终端管理密码或者没有设置
  9. SpringBoot开源项目(企业信息化基础平台)
  10. Spring 学习 3- AOP
  11. popoverController简单介绍
  12. angularjs教程_AngularJS活动教程
  13. Rootkit检测技术发展现状
  14. python爬虫获取网易云音乐歌单
  15. 如何获取21版0.3米分辨率全球卫星影像
  16. vue在线引入阿里矢量图标
  17. English音标(全)与单词家园
  18. 基于金笛短信Web中间件实现Cacti短信报警
  19. android scrollview 设置高度,Android创建显示区高度可以调整的ScrollView
  20. 流上机器学习,星环科技Sophon Base助力海洋石油富岛工艺监测智能化

热门文章

  1. 华为荣耀5x android8,小米5X和荣耀8哪个好?华为荣耀8与小米5X区别对比评测
  2. 从普通二本成功推免的一点感想
  3. 高通推出两款8核芯片骁龙430/617,手机芯片市场硝烟再起---ESM
  4. 有意境的女人, 有海一般宽广的胸怀。
  5. 产品经理与程序员真的打起来了!来看看他们是如何“大战”的!
  6. 联想小新笔记本电脑指纹识别功能失效解决方法
  7. python将音频转换成声谱图_每张图片自带BGM?牛津小哥开源神器,实现任意图像转换声谱图...
  8. 虚拟机IOS开发环境搭建教程
  9. 仿iReader切换皮肤进度条
  10. 如何优雅地在MATLAB中敲出数学公式?(Ⅰ)