准备

  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. toString方法的用处

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Consolas; color: #a5b2b9 } p.p1 { margin: 0.0px ...

  2. Mysql存在则更新,没有则新增

    insert ignore 当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回. insert ignore into table(col1,col2) values ('val1 ...

  3. Spring MVC前后端的数据传输

    本篇文章主要介绍了Spring MVC中如何在前后端传输数据. 后端 ➡ 前端 在Spring MVC中这主要通过Model将数据从后端传送到前端,一般的写法为: @RequestMapping(va ...

  4. 读书笔记-你不知道的JS中-promise(3)

    坑坑坑 关于术语:决议.完成以及拒绝. 首先观察Promise(..)构造器: var p = new Promise(function(x, y) { //x() 用于完成 //y() 用于拒绝 } ...

  5. winfrom窗体加载控制台程序,可以自定义输出语句颜色

    winfrom窗体加载控制台程序,可以自定方输出语句颜色,如下图所示 怎么实现的此功能,网上有大把的方法,我这里已经把方法打包成了一个类,只需要引用调用就可以使用了,写的比较粗糙,如有发现需要改进的地 ...

  6. Problem M

    Problem Description Accounting for Computer Machinists (ACM) has sufferred from the Y2K bug and lost ...

  7. URI 方法 encodeURI() encodeURIComponent() docodeURI() decodeURIComponent()

    URI 方法  encodeURI()  encodeURIComponent()  docodeURI()  decodeURIComponent()   var sUri = “http://ww ...

  8. ASP.NET Core 2.0 集成测试无法执行的问题

    问题表现: Microsoft.AspNetCore.Mvc.Razor.Compilation.CompilationFailedException : One or more compilatio ...

  9. JDBC数据源 使用JNDI连接池实现数据库的连接

    0.引言 许多Web应用程序需要通过JDBC驱动程序访问数据库,以支持该应用程序所需的功能.Java EE平台规范要求Java EE应用程序服务器为此目的提供一个DataSource实现(即,用于JD ...

  10. 自己动手修改Robotium代码(下)

    public void takeScreenshot(){   View decorView = viewFetcher.getRecentDecorView(viewFetcher.getWindo ...