java基础知识

java json.simple编码和解码json 主流第三方json软件有fastjson gjson jackjson等,可以在github找到源码和指南。

http://www.yiibai.com/json/json_java_example.html

一、java学习要点

1、slf4j日志框架
log4j教程:
http://www.yiibai.com/log4j/
2、 打jar包

4、陈强那个监控线程软件,钩子函数

5、OpenOther本地调测

6、本地模块连接到网关

7、本地启动一个moven工程

8、本地启动一个tomcat工程(明确各个配置)

9、java编程规范

10、安全编码红线

11、junit教程
http://www.yiibai.com/junit/

12、mybatis 教程
http://www.yiibai.com/mybatis/


二、语言基础

易百教程(入门):

1、java 文档注释 /** */
2、Java没有virtual关键字。默认情况下,可以覆盖所有非静态方法。换句话说,非静态方法默认是虚拟的。
3、Java支持无符号右移>>>运算符,在顶部为负数填充零。对于正数,它的工作原理与>>运算符相同。
4、eclipse有很多种套餐供您下载,它们的区别仅在于可用的插件。你应该下载包是 "Eclipse IDE for Java EE Developers". 在编程过程中需要额外其它的插件,你可以安装扩展。安装前请确保您的计算机上安装好了 Java
如果您的计算机上有多个版本的Java,您可以设置 Windows 环境变量(JAVA_HOME环境变量和路径)或者可以在 eclipse.ini 指定某个 Java 版本使用。-vm
D:\Program Files\Java\jdk1.8.0_65\bin\javaw.exe
5、为了能够在除英语工程其他语言可以使用,应该切换到UTF-8编码。


6、建包:
右键点击 src 并选择 "New/Package":选择上面创建的包名 com.yiibai.tutorial.javabasic.variable,在弹出的菜单中选择 New 中选择 Class。
输入类的名称:

JAVA中有八种基本类型
对于整数有4种类型:byte, short, int, long
实数类型: float, double
字符类型: char
布尔: 返回 true 或 false 值 (true 或 false)


 double thirdNumber = 10.2d;
  float secondNumber = 10.2f;
java中'a'其实是个整数,不能用来拼接字符串。
7、
switch( variable_to_test ) {
  case value:
   // code_here;
   break;
  case value:
   // code_here;
   break;
  default:
   // values_not_caught_above;
}
8、衍生出来的各种数组
如何在Java中声明数组。
// Declare an array, not a specified number of elements.
int[] array1;
 
// Initialize the array with 100 elements
// The element has not been assigned a specific value
array1 = newint[100];
 
// Declare an array specifies the number of elements
// The element has not been assigned a specific value
double[] array2 = newdouble[10];
// Declare an array whose elements are assigned specific values.
// This array with 4 elements
long[] array3= {10L, 23L, 30L, 11L};

9、java中类、成员方法、成员变量声明时都有访问控制符
      类构造行数无返回类型和return 语句
public class Person {
    // This is field
    // The name of Person
    private String name;
    // This is a Constructor
    // Use it to initialize the object (Create new object)
    // This constructor has one parameter
    // Constructor always have the same name as the class.
    public Person(String persionName) {
        // Assign the value of the parameter into the 'name' field
        this.name = persionName;
    }
    // This method returns a String ..
    public String getName() {
        return this.name;
    }
}
getter setter
10、字段类型
一般字段
静态字段 static 字段类对象共用一份,一处改变处处可见。
final字段  不能被继承和重写,重新赋值,常量。
static final 字段 静态常量
11、
有关方法的种类:
方法
静态方法 static方法通过类来调用如main
final 方法 (将在类的继承中说明)
12、继承
只有单继承
类扩展另一个类称为子类。 子类必须有继承父类中的字段和方法的能力。
子类可以复写父类方法(多态)
判断是否有继承关系:
 boolean isAnimal = cat instanceof Animal;
13、main 方法签名
static是一个关键字,如果将某个方法声明为static,它被称为静态方法。 静态方法的核心优势是不用创建对象就可以直接调用。 main方法由JVM执行,因此它不需要创建对象来调用main方法。所以它节省了内存。
1)通过改变修饰符的顺序,方法原型不改变。
让我们再来看看main方法的简单代码。
static public void main(String args[])
Java
2)java数组可以使用后类型,前变量或后变量。
让我们看看编写main方法的不同方式的代码。
public static void main(String[] args)  
public static void main(String []args)  
public static void main(String args[])
Java
3)通过传递3个点为main方法提供var-args支持
让我们来看看在main方法中使用var-args的简单代码,在Java新特性一章中我们将学习var-args的用法。

public static void main(String... args)
Java
4)在java中的类的末尾的分号是可选的。
javac Simple.java
在编译时,java文件由Java Compiler编译(它不与操作系统交互),并将java代码转换为字节码
执行编译后生成的二进制代码(Simple.class):
java Simple


类加载器(Classloader):是用于加载类文件的JVM的子系统。
字节码校验器(Bytecode Verifier):检查代码片段中是否存在违反对象访问权限的非法代码。
解释器(Interpreter):读取字节码流然后执行指令。

14、JDK JRE JVM区别
JVM(Java虚拟机)是一个抽象机器。它是一个提供可以执行Java字节码的运行时环境的规范。
JRE是Java Runtime Environment的缩写。它用于提供运行时环境。它是JVM的实现。它是实际存在的。它包含一组库和JVM在运行时使用的其他文件。
JDK是Java Development Kit的缩写,它是实际上存在的。它包含JRE+开发工具如:javac ,javadoc等。

15、
为什么char在java中使用2个字节以及什么是\u0000?
这是因为java使用Unicode系统而非ASCII码系统编码。 \u0000是Unicode系统的最低范围。要了解有关Unicode的详细说明,请访问下一页

16、数据类型转换:
加宽      
      int a=10;  
      float f=a;
缩小(转换)
  float f=10.5f;  
        int a=(int)f; 
溢出

   int a=130;  
    byte b=(byte)a;  
较低类型相加

byte a=10;  

        byte b=10;  

        byte c=(byte)(a+b);  


16、后++是在返回值后立即+
class OperatorExample {
    public static void main(String args[]) {
        int a = 10;
        int b = 10;
        System.out.println(a++ + ++a);// 10+12=22
        System.out.println(b++ + b++);// 10+11=21


    }
}

17、Java一元运算符示例3:〜 和 !
class OperatorExample {
    public static void main(String args[]) {
        int a = 10;
        int b = -10;
        boolean c = true;
        boolean d = false;
        System.out.println(~a);// -11 (minus of total positive value which
                                // starts from 0)
        System.out.println(~b);// 9 (positive of total minus, positive starts
                                // from 0)
        System.out.println(!c);// false (opposite of boolean value)
        System.out.println(!d);// true
    }
}

18. Java AND运算符示例:逻辑&&和位&
如果第一个条件为假(false),则逻辑&&运算符不检查第二个条件。它只有在第一个条件为真(true)时才会检查第二个条件。
按位与(&)运算符总是检查两个条件,不管第一个条件是真还是假。

逻辑|| 如果第一个条件为真(true),运算符不检查第二个条件。它只在第一个条件为假(false)时才会检查第二个条件。

按位或 | 运算符总是检查两个条件,不管第一个条件是真(true)还是假(false)。

19、Java分配运算符示例:相加short类型数据

class OperatorExample {
    public static void main(String args[]) {
        short a = 10;
        short b = 10;
        // a+=b;//a=a+b internally so fine
        a = a + b;// 编译时错误,因为 10+10=20 现在是 int 类型
        System.out.println(a);
    }
}
20、
>>表示右移,如果该数为正,则高位补0,若为负数,则高位补1;
>>>表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0。

res = 20 >> 2; 
20的二进制为 0001 0100,右移2位后为 0000 0101,则结果就为 res = 5;
res = -20 >> 2;
-20的二进制为其正数的补码加1,即 1110 1011,右移2位后为 1111 1100,结果为 res = -6;
而对于>>>符号而言:
res = 20 >>> 2; 的结果与 >> 相同;
res = -20 >> 2;

-20的二进制为 1110 1011,右移2位,此时高位补0,即 0011 1010,结果为 res = 58;
<< 是与>>对应的左移运算符,表示将exp1向左移动exp2位,在低位补0。其实,向左移动n位,就相当于乘以2^n。
左移没有<<<运算符!

21、break continue
Java break用于断开循环或switch语句。它在指定条件下中断程序的当前流程。 在内循环的情况下,它仅中断内循环,外循环仍然可继续执行。
Java continue语句用于继续循环。 它继续程序的当前流程,并在指定条件下跳过剩余的代码。在内循环的情况下,它仅继续内循环。

22、文档注释 生成一个类的详细说明文档
通过javac工具编译:
javac Calculator.java
Java
通过javadoc工具创建文档API:
javadoc Calculator.java
Java
现在,将在当前目录中为上面的Calculator类创建了HTML网页相关文件。 打开HTML文件,并查看通过文档注释提供的Calculator类的说明。添加的注释会放在类和后面作为说明。




23、基础题目练习:

题目及解答:
http://www.yiibai.com/java/java-programs.html




24

1、在java中,我们使用方法重载和方法重写来实现多态性。

隐藏内部细节和显示功能称为抽象(概念);将代码和数据绑定(或包装)在一起成为单个单元称为封装(具体实现)。
2、java编程语言的所有类,接口,包,方法和字段都是根据java命名约定给出的
通过使用标准的Java命名约定,您可以使自己和其他程序员更容易阅读代码。Java程序的可读性非常重要。 它能让程序开发者花费更少的时间来读懂代码的作用。


Java遵循驼峰语法,用于命名类,接口,方法和变量。














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值