介绍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)。
A、OracleB、SunC、AdobeD、Microsoft
2. 下列说法正确的是(A)。
A、Java程序中的main方法必须写到类里面。
B、Java程序中可以有多个main方法。
C、Java程序的类名必须与文件名一致。
D、Java程序的main方法里如果只有一条语句,可以不用{}括起来。
3. Java源代码文件的拓展名是(C)。
A、txtB、classC、javaD、doc
4. 从控制台显示的消息语句正确的是(D)。
A、System.out.println(我是一名程序员);
B、System.Out.println(“我是一名程序员”);
C、system.out.println(“我是一名程序员”);
D、System.out.println(“我是一名程序员”);
5. 下列属于是java中正确注释的是(B)。
A、/这是注释B、//这是注释
C、/**…这是注释*/D、/*…这是注释*/
6. 下面哪一项不是Java体系中的一种(B)。
A、Java ME(Java Micro Edition)B、Java RE(Java Runtime Edition)
C、Java EE(Java Enterprise Edition)D、Java SE(Java Standard Edition)
二、填空题:
1. 计算机高级编程语言按其程序的执行方式可分为两种类型:____编译型______、__解释型________。
2. 虚拟计算机技术被称为__Java虚拟机 或(JVM----Java Virtual Machine)________。
3. JRE被成为_Java运行时环境 或(Java Runtime Environment)_;JDK被成为__Java开发包 或(Java SE Development Kit)__。
一、选择题:
1. 下列( D )是合法的标识符?
A、12classB、voidC、-5D、_blank
2. 下列( B )不是Java中的关键字?
A、ifB、sizeofC、privateD、null
3. 下列(C )不是合法的标识符?
A、$millionB、_$millionC、2$_millionD、$2_million
4. 下列选项中,( B )不属于Java语言的基本数据类型?
A、整数型B、数组C、浮点型D、字符型char
5. 已知x=2, y=3, z=4,则经过z- = --y – x--运算后,z的值为(D)。
A、1B、2C、3D、4
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)。
A、2B、1C、-1D、-2
8. 下列Java语句中,不正确的一项是( C )。
A、$e, a, b = 10;B、char c, d = ‘a’;
C、float e = (float)0.0d;D、double c = 0.0f;
9. 在编写Java程序时,如果不为类的成员变量定义初始值,Java会给出它们的默认值,下列说法中不正确的一个是( D )。
A、byte的默认值是0B、boolean的默认值是false
C、char类型的默认值是’\u0000’D、long类型的默认值是0L
10. 下列语句中不正确的一个是(B)。
A、float f = 1.1f;B、byte b = 128;
C、double d = 1.1/0.0;D、char 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. 假设a是int类型的变量,并初始化为1,则下列(D )是合法的条件语句?
A、if(a){}B、if(a<<=3){}C、if(a=2){}D、if(true){}
3. 下列说法中,不正确的一个是( C )。
A、switch语句的功能可以由if…else if语句来实现
B、若用于比较的数据类型为double型,则不可以用switch语句来实现
C、if …else if语句的执行效率总是比switch语句高
D、case子句中可以有多个语句,并且不需要大括号{}括起来
4. 设a、b为long型变量,x、y为float型变量,ch为char类型变量且它们均已被赋值,则下列语句中正确的是( B )。
A、switch(x+y) {}B、switch(ch+1) {}
C、switch ch {}D、switch(a+b); {}
5. 下列循环体执行的次数是( C )。
int y=2, x=4;
while(--x != x/y){ }
A、1B、2C、3D、4
6. 下列循环体执行的次数是( B )。
int x=10, y=30;
do{y-=x;x++;}while(x++<y--);
A、1B、2C、3D、4
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”
A、2B、0、1C、0、1、2D、0、1、2、3
二、填空题:
1. 跳转语句包括___break、continue、return__。
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 )
A、a2 = a1B、a2 = a3C、a2 = a4D、a3 = a4
2. 关于数组,下列说法中不正确的是( C )。
A、数组是最简单的复合数据类型,是一系列数据的集合
B、数组元素可以是基本数据类型、对象或其他数组
C、定义数组时必须分配内存
D、一个数组中所有元素都必须具有相同的数据类型
3. 设有下列数组定义语句:
int a[] = {1, 2, 3};
则对此语句的叙述错误的是( C )。
A、定义了一个名为a的一维数组B、a数组有3个元素
C、a数组元素的下标为1~3D、数组中每个元素的类型都是整数
4. 执行语句:int[] x = new int[20];后,下面哪个说法是正确的?( C )
A、x[19]为空B、x[19]未定义C、x[19]为0D、x[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; }
A、trueB、falseC、编译错误D、100
6. 已知有定义:String s="I love",下面哪个表达式正确?( A )
A、s += "you";B、char c = s[1];
C、int len = s.length;D、String s = s.toLowerCase();
二、填空题:
1. 数组是一种____复合____数据类型,在Java中,数组是作为__对象___来处理的。数组是有限元素的有序集合,数组中的元素具有相同的__数据类型___,并可用统一的___数组名___________和下标来唯一确定其元素。
2. 在数组定义语句中,如果[]在数据类型和变量名之间时,[]之后定义的所有变量都是
___数组_____类型,当[]在变量名之后时,只有[]之前的变量是___数组_____类型,之后没有[]的则不是数组类型。
3. 数组初始化包括___静态_____初始化和___动态_____初始化两种方式。
4. Java语言提供了两种具有不同操作方式的字符串类:__String______类和_StringBuffer_______类。它们都是_java.lang.Object_______的子类。
今天是前四章的选择填空,就这样了
转载于:https://blog.51cto.com/7617661/1265594