经历了4天预习班以及11天的基础班,已经初步的了解到Java的基本应用..以下是这些天的个人总结:
1.James Gosling与Partrick,Naughton和Mike Sheridan等人合作"绿色计划",后来发展一套语言叫"Oak",之后改名为Java.
2.Java主要有开源和跨平台的优点,跨平台代表着Java程序可以在任意操作系统上运行,一次编写到处运行,实现跨平台需要依赖Java的虚拟机JVM
3.JVM是JAVA的虚拟机,不同的平台都有自己的虚拟机,因此JAVA实现了跨平台
JRE,包括JAVA虚拟机和JAVA程序所需的核心库类.
JDK,提供给JAVA开发人员使用,包括了JAVA的开发工具和JRE.
4.著名案例,"HelloWorld"..
public class HelloWorld {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
5.关于定义各类变量的代码:
public class VariableDemo { publicstatic void main(String[] args) { //定义byte类型的变量 byte b= 10; System.out.println(10); System.out.println(b); //定义short类型的变量 shorts = 100; System.out.println(s); //定义int类型的变量 int i= 10000; System.out.println(i); //定义long类型的变量 long l= 1000000000000000L; System.out.println(l); //定义float类型的变量 floatf = 12.34F; System.out.println(f); //定义double类型的变量 doubled = 12.34; System.out.println(d); //定义char类型的变量 char c= 'a'; System.out.println(c); //定义boolean类型的变量 booleanbb = false;
System.out.println(bb); 7.隐式数据类型转换:取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算 8.强制类型转换:例如 b = (byte)(a + b);
9.运算符:
算数运算符
整数相除,结果还是整数
注意事项:
* a:+号在java中有三种作用,代表正号,做加法运算,字符串的连接符
* b:整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型
* c:/获取的是除法操作的商,%获取的是除法操作的余数
* %运算符
* 当左边的绝对值小于右边绝对值时,结果是左边
* 当左边的绝对值等于右边或是右边的倍数时,结果是0
* 当左边的绝对值大于右边绝对值时,结果是余数
* %运算符结果的符号只和左边有关系,与右边无关
* 任何一个正整数%2结果不是0就是1可以用来当作切换条件
'a' 97
'A' 65
'0' 48
'A' + 10 ==> 65 + 10 = 75
字符串与任何数据做加法运算,都会产生一个新的字符串
"abc" + 10 + 20 ==> "abc10" + 20 ==> "abc1020"
10 + 20 + "abc" + 10 + 20 ==> 30 + "abc" + 10 + 20 ==> "30abc" + 10 + 20 ==> "30abc1020"
++ --
byte a = 10;
a += 20;
逻辑运算符
& : 有假则假
| : 有真则真
! : 事物的另一面
^ : 相同为false,不同为true
&& 和 & 的区别:
& 是左右两边都需要进行计算
&& 如果左边为false,右边不执行
|| & | 的区别:
| 是左右两边都需要进行计算
|| 如果左边为true,右边不执行
三元运算符(三目运算符)
关系表达式 ? 表达式1 : 表达式2
int a = 20;
int b = 30;
int result = a > b ? a : b;
boolean flag = (a == b ? true : false);
boolean flag = (a == b);
10.选择流程控制语句
顺序结构:是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的
if语句第一种格式:
if(关系表达式) { 语句体 } if语句第二种格式: if(关系表达式) { 语句体1; }else { 语句体2; } if语句第三种格式: if(关系表达式1) { 语句体1; }else if (关系表达式2) { 语句体2; } … else { 语句体n+1; } 11.循环语句 for(初始化语句;判断条件语句;控制条件语句) { 循环体语句; } while(判断条件语句) { 循环体语句; } 扩展格式 初始化语句; while(判断条件语句) { 循环体语句; 控制条件语句; } do { 循环体语句; }while((判断条件语句); 扩展格式 初始化语句; do { 循环体语句; 控制条件语句; } while((判断条件语句);
12.random: 导包 import java.util.Random; 创建对象 Random r = new Random();
获取随机数 int num = r.nextInt(10); 13. 数组是存储同一种数据类型多个元素的容器。 数组既可以存储基本数据类型,也可以存储引用数据类型。 格式格式1:数据类型[] 数组名; 格式2:数据类型 数组名[]; 注意:这两种定义做完了,数组中是没有元素值的。 数组的初始化: 数据类型[] 数组名 = new 数据类型[数组长度]; public class ArrayDemo { public static void main(String[] args) { //数据类型[] 数组名 = new 数据类型[数组长度]; int[] arr = new int[3]; /* * 左边: * int:说明数组中的元素的数据类型是int类型 * []:说明这是一个数组 * arr:是数组的名称 * 右边: * new:为数组分配内存空间 * int:说明数组中的元素的数据类型是int类型 * []:说明这是一个数组 * 3:数组的长度,其实就是数组中的元素个数 */ 14.方法的格式 修饰符 返回值类型 方法名(参数类型参数名1,参数类型 参数名2…) { 函数体; return 返回值; } /* 修饰符 目前记住 public static 返回值类型 用于限定返回值的数据类型 方法名 一个名字,为了方便我们调用方法 参数类型 用于接收调用方法时传入的数据的类型 参数名 用于接收调用方法时传入的数据的变量 方法体 完成功能的代码 return 结束方法,把返回值带给调用者 */ 求和的方法调用: package com.itheima_01; /* * 有明确返回值的方法的调用: * A:单独调用,没有什么意义。 * B:输出调用,有意义,但是不够好,因为我可能需要对求和的结果进行进一步的操作 * C:赋值调用 */ public class MethodDemo2 { // 求和的方法 public static int sum(int a, int b) { return a + b; }
public static void main(String[] args) { // 单独调用 // sum(10,20);
// 输出调用 // System.out.println(sum(10,20));
// 赋值调用 int s = sum(10, 20); // s+=100; System.out.println("s:"+s); } } 获取两数较大值: package com.itheima_01;
import java.util.Scanner;
/* * 需求:键盘录入两个数据,返回两个数中的较大值 * * 两个明确: * 返回值类型:int * 参数列表:int a,int b */ public class MethodTest { // 返回两个数中的较大值 public static int getMax(int a, int b) { if (a > b) { return a; } else { return b; } } public static void main(String[] args) { //创建对象 Scanner sc = new Scanner(System.in); //接收数据 System.out.println("请输入第一个数据:"); int x = sc.nextInt(); System.out.println("请输入第二个数据:"); int y = sc.nextInt(); //调用方法 int max = getMax(x,y); System.out.println("max:"+max); } } 获取三个数的较大值 package com.itheima_01;
import java.util.Scanner;
/* * 需求:键盘录入三个数据,返回三个数中的最大值 * * 两个明确: * 返回值类型:int * 参数列表:int a,int b,int c */ public class MethodTest3 { // 返回三个数中的最大值 public static int getMax(int a, int b, int c) { if (a > b) { if (a > c) { return a; } else { return c; } } else { if (b > c) { return b; } else { return c; } } } public static void main(String[] args) { //创建对象 Scanner sc = new Scanner(System.in); //接收数据 System.out.println("请输入第一个数据:"); int a = sc.nextInt(); System.out.println("请输入第二个数据:"); int b = sc.nextInt(); System.out.println("请输入第三个数据:"); int c = sc.nextInt(); //调用方法 int max = getMax(a,b,c); System.out.println("max:"+max); } } 方法的重载之比较数据是否相等 package com.itheima_03;
/* * 需求:比较两个数据是否相等。参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型, * 并在main方法中进行测试 */ public class MethodTest { public static void main(String[] args) { // 调用 System.out.println(compare(10, 20)); System.out.println("-------------"); System.out.println(compare((byte)10, (byte)20)); System.out.println("-------------"); System.out.println(compare((short)10, (short)20)); System.out.println("-------------"); //System.out.println(compare((long)10, (long)20)); System.out.println(compare(10L, 20L)); }
// 两个byte类型的 public static boolean compare(byte a, byte b) { System.out.println("byte"); // 第一种写法 // boolean flag = a==b?true:false; // return flag; // 第二种写法 // boolean flag = a == b; // return flag; // 第三种写法 return a == b; }
// 两个short类型的 public static boolean compare(short a, short b) { System.out.println("short"); return a == b; }
// 两个int类型的 public static boolean compare(int a, int b) { System.out.println("int"); return a == b; }
// 两个long类型的 public static boolean compare(long a, long b) { System.out.println("long"); return a == b; } } 数组的遍历 package com.itheima_05;
/* * 需求:把遍历数组改进为方法实现,并调用方法 */ public class MethodTest { public static void main(String[] args) { // 定义数组 int[] arr = { 11, 22, 33, 44, 55 };
// 遍历 // for (int x = 0; x < arr.length; x++) { // System.out.println(arr[x]); // } //用方法改进 //printArray(arr); //这一次虽然可以,但是我觉得格式不好看,能不能打印成下面的格式呢? //[元素1, 元素2, 元素3, ...] printArray(arr); } public static void printArray(int[] arr) { System.out.print("["); for(int x=0; x<arr.length; x++){ if(x==arr.length-1){ System.out.println(arr[x]+"]"); }else { System.out.print(arr[x]+", "); } } } /* * 两个明确: * 返回值类型:void * 参数列表:int[] arr */ // public static void printArray(int[] arr) { // for(int x=0; x<arr.length; x++){ // System.out.println(arr[x]); // } // } }
|