准备

  1. 下载并安装Java jdk 和 编辑器(eclipse或Netbeans)
  2. 配置环境变量
  3. 第一个程序
public class test{
public static void main(String[] args){
  System.out.println("Hello World!");
    }
}

  4.  java源程序与编译型运行区

   编译型源程序——编译连接——可执行程序exe——执行——操作系统——裸机

  Java源程序——编译——字节码程序——解释执行——解释器——操作系统——裸机

基础

一、数据类型

1.命名规范:

  • 所有的标识符都应该以字母(A~Z\a~z)、美元符号$、下划线_ 开始,首字母之后可以是字母、$、下划线_ 以及数字。
  • 标识符对大小写敏感,且不能用关键字
  • 类名:首字母应该大写,若有多个单词,则每个单词首字母都应大写。举例MyFunction
  • 方法名:所有方法名都应该以小写字母开头。若有多个单词,则后面每个单词首字母都应大写。

2.基本数据类型:

byte、short、int、long、float、double、boolean、char

数据类型 数据类型符号 位数 最小值 最大值 默认值 举例
字节型 byte 8 -2^7 2^7-1 0 byte a=100;
短整型 short 16 -2^15 2^15-1 0 short b=1000;
整型 int 32 -2^31 2^31-1 0 int c=100000;
长整型 long 64 -2^63 2^63-1 0L long d=100000L;
单精度小数 float 32     0.0f float f=234.5f;
双精度小数 double 64     0.0d double d=123.4;
布尔类型 boolean 1     false boolean flag=true;
字符型 char 16 \u0000 \uffff   char e='A';

自动转换类型:由低精度向高精度转换,不会损失精度,自动进行。

强制转换类型:由高精度向低精度转换,会损失精度,例如int a=(int)23.7。

3.String类型:

String str = "Hello World!";

4.数组。

二、运算符及其他

三、控制结构和语句

1.顺序

2.选择

if……else if语句

if(布尔表达式){
  //代码语句
}else if(布尔表达式){
  //代码语句
}

switch语句

switch(){
  case value1:
   //代码语句
break;
  case  value2:
  //代码语句
break;
   default:
    //代码语句
}

3.循环

while循环和do……while循环

while(布尔表达式){
  //循环内容
}

do{
  //循环内容
}while(布尔表达式);

for循环和Java增强for循环

for(初始化; 布尔表达式; 更新){
  //代码语句
}

for(申明语句:表达式){
  //代码语句
}

int[] numbers = {10,20,30,40,50,60};
for(int x:numbers){//循环输出numbers数组
  System.out.println(x);
}

*排序算法

四、函数(方法)

有参、无参、有返回、无返回

static int result1(int a,int b){//有参有返回
  return a+b;
}

static void result2(){//无参无返回
  System.out.println("Hello World!");
}

五、对象和类

1. 类是一个模板,描述一些对象的属性和行为;

  对象是类的一个实例,拥有类的共同特征。

2. 变量范围:

局部变量:在方法、构造方法或者语句块中定义的变量称为局部变量。变量申明和初始化都是在方法中,方法结束后,变量自动销毁。

成员变量:成员变量是定义在勒种,方法体外的变量。

类变量:类变量也申明在类中,方法体外,但必须申明为static类型。

3.构造方法

public class People{
  public People(){//构造方法
    System.out.println("How are you");
  }
}

六、修饰符

访问修饰符

修饰符 当前类 同一包内 子孙类 其他包
public Y Y Y Y
protected Y Y Y N
default Y Y N N
private Y N N N

非访问修饰符

static:静态变量和静态方法

final:final类不能被继承,没有类能够继承finale类的任何特性

abstract:抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充,抽象方法不能声明成final和static。

synchronized:该关键字声明的方法同一时间只能被一个线程访问。

transient

volatile

七、包

格式:import 大包名.小包名1.小包名2.类名;

或  import 大包名.小包名1.*;

1. 官方包

2. 引入第三方包

3. 自己写的包

八、输入输出及文件

九、线程

十、GUI

十一、数据库

十二、Java多媒体

Java(概略篇)的更多相关文章

  1. Java提高篇——对象克隆(复制)

    假如说你想复制一个简单变量.很简单: int apples = 5; int pears = apples; 不仅仅是int类型,其它七种原始数据类型(boolean,char,byte,short, ...

  2. Java提高篇(三三)-----Map总结

    在前面LZ详细介绍了HashMap.HashTable.TreeMap的实现方法,从数据结构.实现原理.源码分析三个方面进行阐述,对这个三个类应该有了比较清晰的了解,下面LZ就Map做一个简单的总结. ...

  3. Java提高篇(三二)-----List总结

    前面LZ已经充分介绍了有关于List接口的大部分知识,如ArrayList.LinkedList.Vector.Stack,通过这几个知识点可以对List接口有了比较深的了解了.只有通过归纳总结的知识 ...

  4. Java提高篇(三一)-----Stack

    在Java中Stack类表示后进先出(LIFO)的对象堆栈.栈是一种非常常见的数据结构,它采用典型的先进后出的操作方式完成的.每一个栈都包含一个栈顶,每次出栈是将栈顶的数据取出,如下: Stack通过 ...

  5. java提高篇(三十)-----Iterator

    迭代对于我们搞Java的来说绝对不陌生.我们常常使用JDK提供的迭代接口进行Java集合的迭代. Iterator iterator = list.iterator(); while(iterator ...

  6. java提高篇(二九)-----Vector

    在java提高篇(二一)-–ArrayList.java提高篇(二二)-LinkedList,详细讲解了ArrayList.linkedList的原理和实现过程,对于List接口这里还介绍一个它的实现 ...

  7. Java提高篇(二八)------TreeSet

    与HashSet是基于HashMap实现一样,TreeSet同样是基于TreeMap实现的.在<Java提高篇(二七)-----TreeMap>中LZ详细讲解了TreeMap实现机制,如果 ...

  8. Java提高篇(二七)-----TreeMap

    TreeMap的实现是红黑树算法的实现,所以要了解TreeMap就必须对红黑树有一定的了解,其实这篇博文的名字叫做:根据红黑树的算法来分析TreeMap的实现,但是为了与Java提高篇系列博文保持一致 ...

  9. Java提高篇(二六)-----hashCode

          在前面三篇博文中LZ讲解了(HashMap.HashSet.HashTable),在其中LZ不断地讲解他们的put和get方法,在这两个方法中计算key的hashCode应该是最重要也是最 ...

  10. java提高篇(二四)-----HashSet

          在前篇博文中(java提高篇(二三)-----HashMap)详细讲解了HashMap的实现过程,对于HashSet而言,它是基于HashMap来实现的,底层采用HashMap来保存元素. ...

随机推荐

  1. 【转】S3C2440存储系统-SDRAM驱动

    SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)也就是通常所说的内存.内存的工作原理.控制时序.及相关控制器的配置方法一直是嵌入式系统 ...

  2. Android性能优化之启动速度优化

    Android性能优化之启动速度优化   Android app 启动速度优化,首先谈谈为什么会走到优化这一步,如果一开始创建 app 项目的时候就把这个启动速度考虑进去,那么肯定就不需要重新再来优化 ...

  3. vue 从入门到精通(一)

    很早之前就想开一系列有关vue的博客,奈何太忙了,哈哈(爱信不信)...刚刚收到消息vue2.5发布了,哎!还是应该加快一下步伐,要不就与社会脱节了.这次采用小步慢跑的形式一点一点总结vue,第一篇先 ...

  4. mysql必知必会系列(一)

    mysql必知必会系列是本人在读<mysql必知必会>中的笔记,方便自己以后查看. MySQL. Oracle以及Microsoft SQL Server等数据库是基于客户机-服务器的数据 ...

  5. web项目生成war包的问题

    今天面试一家公司,问我生成war包的命令是什么? 当时没明白,就说自己用的eclipse直接右键 export --->war 完了重启tomcat(第一种) 好久没用maven了.回来一查才明 ...

  6. 《HelloGitHub》第 19 期

    前言 最近很少写博客了,工作上的事情太多(在做一些数据分析方面的工作,之前是 Web 开发),时间捉襟见肘.更多的时间都花在工作上,没有精力.时间积累整理知识.说来还是能力太差.效率有问题. 后面会好 ...

  7. Java微信公众平台开发_02_启用服务器配置

    源码将在晚上上传到 github 一.准备阶段 需要准备事项: 1.一个能在公网上访问的项目: 见:[  Java微信公众平台开发_01_本地服务器映射外网  ] 2.一个微信公众平台账号: 去注册: ...

  8. Android_简易的短信发送器

    这个随笔将介绍如何完成一个简单的第三方的短信发送器(不打开短信界面,调用android的api完成功能) 1.首先,我们来做布局 由于我这里写的是一个简易的,,短信发送,所以只是一个LinearLay ...

  9. 操作系统--进程管理1--单个CPU情况

    1.进程概念 进程:一个正在执行的程序:操作系统提出进程概念目的:是为了跟踪程序在执行期间的状态.而程序只是一段代码,是一个静态的概念 无法准确描述程序执行时候发生的一切.程序代码被加载进内存后就以进 ...

  10. 【机器学习实战】第12章 使用FP-growth算法来高效发现频繁项集

    第12章 使用FP-growth算法来高效发现频繁项集 前言 在 第11章 时我们已经介绍了用 Apriori 算法发现 频繁项集 与 关联规则.本章将继续关注发现 频繁项集 这一任务,并使用 FP- ...