介绍Json 的存储与提取

1.存储

// json格式的字符串的生成  --
public static String getJson() throws Exception{
    String strName = "张飞";
    int niAge = 20;
                                                                                              
    JSONObject json = new JSONObject();
    json.put("name", strName);
    json.put("age", niAge);
                                                                                              
    JSONObject js = new JSONObject();
    js.put("city", "哈尔滨");
    js.put("street", "和兴路");
                                                                                              
    json.put("address", js);
    // json格式的字符串
    System.out.println(json.toString());
    return json.toString();
}

2.提取

public class TestJson {
    public static void main(String[] args) throws Exception {
        String strJson = getJson();
        parseJson(strJson);
    }
public static void parseJson(String strJson) throws Exception{
        JSONObject json = new JSONObject(strJson);
        String strName = json.getString("name");
        int niAge = json.getInt("age");
        JSONObject js = json.getJSONObject("address");
        String strCity = js.getString("city");
        String strStreet = js.getString("street");
        System.out.println("姓名:"+strName+",年龄:"+niAge+",城市:"+strCity+",街道:"+strStreet);
    }
}  

下面是我总结的一部分JAVA课后习题:

一、选择题:

1. Java语言是哪个公司开发的(B)。

AOracleBSunCAdobeDMicrosoft

2. 下列说法正确的是(A)。

AJava程序中的main方法必须写到类里面。

BJava程序中可以有多个main方法。

CJava程序的类名必须与文件名一致。

DJava程序的main方法里如果只有一条语句,可以不用{}括起来。

3. Java源代码文件的拓展名是(C)。

AtxtBclassCjavaDdoc

4. 从控制台显示的消息语句正确的是(D)。

ASystem.out.println(我是一名程序员);

BSystem.Out.println(“我是一名程序员”);

Csystem.out.println(“我是一名程序员”);

DSystem.out.println(“我是一名程序员”);

5. 下列属于是java中正确注释的是(B)。

A/这是注释B//这是注释

C/**这是注释*/D/*这是注释*/

6. 下面哪一项不是Java体系中的一种(B)。

AJava MEJava Micro EditionBJava REJava Runtime Edition

CJava EEJava Enterprise EditionDJava SEJava Standard Edition

二、填空题:

1. 计算机高级编程语言按其程序的执行方式可分为两种类型:____编译型________解释型________

2. 虚拟计算机技术被称为__Java虚拟机 或(JVM----Java Virtual Machine________

3. JRE被成为_Java运行时环境 或(Java Runtime Environment_JDK被成为__Java开发包 或(Java SE Development Kit)__

一、选择题:

1. 下列( D )是合法的标识符?

A12classBvoidC-5D_blank

2. 下列( B )不是Java中的关键字?

AifBsizeofCprivateDnull

3. 下列(C   )不是合法的标识符?

A$millionB_$millionC2$_millionD$2_million

4. 下列选项中,(  B )不属于Java语言的基本数据类型?

A、整数型B、数组C、浮点型D、字符型char

5. 已知x=2, y=3, z=4,则经过z- = --y x--运算后,z的值为(D)。

A1B2C3D4

6. 下列表达式1+2+ "aa"+1+3的值是(B)。

A"12aa3"B"3aa3 "C"12aa"D"aa3"

7. 已知a=2, b=3,则表达式a%b*4%b的值为(A)。

A2B1C-1D-2

8. 下列Java语句中,不正确的一项是( C   )。

A$e, a, b = 10;Bchar c, d = a;

Cfloat e = (float)0.0d;Ddouble c = 0.0f;

9. 在编写Java程序时,如果不为类的成员变量定义初始值,Java会给出它们的默认值,下列说法中不正确的一个是(  D  )。

Abyte的默认值是0Bboolean的默认值是false

Cchar类型的默认值是\u0000Dlong类型的默认值是0L

10. 下列语句中不正确的一个是(B)。

Afloat f = 1.1f;Bbyte b = 128;

Cdouble d = 1.1/0.0;Dchar c = (char)1.1f;

二、填空题:

1. 变量是Java程序的基本存储单元之一,变量的主要类型包括2大类:____字符型_____数值型_______

2. Java语言的整数类型变量和常量一样,各自都包括4种类型的数据,它们分别是__int_____short_______long_______double____

3. __boolean___类型数据不可以做类型转换。

4. Java语言中的___关键字____具有特殊意义和作用,不能作为普通标识符使用。

5. Java语言中,浮点类型数据属于实型数据,可以分为___单精度 _____双精度___两种。


一、选择题:

1. 下列(D    )不属于Java语言流程控制结构?

A、分支语句B、跳转语句C、循环语句D、赋值语句

2. 假设aint类型的变量,并初始化为1,则下列(D    )是合法的条件语句?

Aif(a){}Bif(a<<=3){}Cif(a=2){}Dif(true){}

3. 下列说法中,不正确的一个是( C   )。

Aswitch语句的功能可以由ifelse if语句来实现

B、若用于比较的数据类型为double型,则不可以用switch语句来实现

Cif else if语句的执行效率总是比switch语句高

Dcase子句中可以有多个语句,并且不需要大括号{}括起来

4. ablong型变量,xyfloat型变量,chchar类型变量且它们均已被赋值,则下列语句中正确的是(  B  )。

Aswitch(x+y) {}Bswitch(ch+1) {}

Cswitch ch {}Dswitch(a+b); {}

5. 下列循环体执行的次数是(  C  )。

int y=2, x=4;

while(--x != x/y){ }

A1B2C3D4

6. 下列循环体执行的次数是(  B  )。

int x=10, y=30;

do{y-=x;x++;}while(x++<y--);

A1B2C3D4

7. 已知如下代码:

switch(m){

case 0: System.out.println("Condition 0");

case 1: System.out.println("Condition 1");

case 2: System.out.println("Condition 2");

case 3: System.out.println("Condition 3");break;

default:System.out.println("Other Condition");

}

m的值为(  D  )时,输出“Condition 3

A2B01C012D0123

二、填空题:

1. 跳转语句包括___breakcontinuereturn__

2. switch语句先计算switch后面的___表达式___的值,再和各___case_____语句后的值做比较。

3. if语句合法的条件值是___ boolean_____类型。

4. continue语句必须使用于___循环_____语句中。

5. break语句有两种用途:一种从__ switch_____语句的分支中跳出,一种是从___循环语句______内部跳出。

6. do while循环首先执行一遍___循环体____,而while循环首先判断_表达式的值________

7. C++语言不同,Java语言不通过__goto______语句实现跳转。

8. 每一个else子句都必须和它前面的一个距离它最近的__if______子句相对应。

9. switch语句中,完成一个case语句块后,若没有通过break语句跳出switch语句,则会继续执行后面的___case_____语句块。

10. for循环语句中可以声明变量,其作用域是__for循环体______


一、选择题:

1. 给出下面程序代码:

byte[] a1, a2[];

byte a3[][];

byte[][] a4;

下列数组操作语句中哪一个是不正确的?(  A  )

Aa2 = a1Ba2 = a3Ca2 = a4Da3 = a4

2. 关于数组,下列说法中不正确的是(  C  )。

A、数组是最简单的复合数据类型,是一系列数据的集合

B、数组元素可以是基本数据类型、对象或其他数组

C、定义数组时必须分配内存

D、一个数组中所有元素都必须具有相同的数据类型

3. 设有下列数组定义语句:

int a[] = {1, 2, 3};

则对此语句的叙述错误的是(   C )。

A、定义了一个名为a的一维数组Ba数组有3个元素

Ca数组元素的下标为1~3D、数组中每个元素的类型都是整数

4. 执行语句:int[] x = new int[20];后,下面哪个说法是正确的?( C   )

Ax[19]为空Bx[19]未定义Cx[19]0Dx[0]为空

5. 下面代码运行后的输出结果为(  A  )。

public class Test04_01 {  

public static void main(String[] args) {

AB aa = new AB();

AB bb;

bb = aa;

System.out.println(bb.equals(aa));

}

}

class AB{ int x = 100; }

AtrueBfalseC、编译错误D100

6. 已知有定义:String s="I love",下面哪个表达式正确?(  A  )

As += "you";Bchar c = s[1];

Cint len = s.length;DString s = s.toLowerCase();

二、填空题:

1. 数组是一种____复合____数据类型,在Java中,数组是作为__对象___来处理的。数组是有限元素的有序集合,数组中的元素具有相同的__数据类型___,并可用统一的___数组名___________下标来唯一确定其元素。

2. 在数组定义语句中,如果[]在数据类型和变量名之间时,[]之后定义的所有变量都是

___数组_____类型,当[]在变量名之后时,只有[]之前的变量是___数组_____类型,之后没有[]的则不是数组类型。

3. 数组初始化包括___静态_____初始化和___动态_____初始化两种方式。

4. Java语言提供了两种具有不同操作方式的字符串类:__String______类和_StringBuffer_______类。它们都是_java.lang.Object_______的子类。

今天是前四章的选择填空,就这样了