一,数据类型
1,基本数据类型有哪几个,每个占多少位?
2,分别用8种基本类型定义一个变量?
3,阐述标识符的命名规则?(四点)
a,只能是字母,数字,下划线,和$
b,数字不能开头
c,见名知意
d,不能是关键字
二,运算符
算数运算符:+(加) -(减) *(乘) /(除) %(取余数)---(算数运算符分别举例测试)
逻辑运算符:&(与) |(或) !(非) ^(异或) &&(短路与) ||(短路或)--(列表格分别测试,我上课时候列的表格)
比较运算符:== != > >= < <=
单操作运算符(一个操作数):++ -- (分别测试++和--放在变量前后的效果)
位运算符:>>(有符号右移) <<(有符号左移) >>>(无符号右移) (了解就行)
三目运算符:表达式?值1:值2 (自己举例测试,重要)
三,分支语句
1,if(表达式){ }else{ }
2,if(表达式){ }else if(表达式){ }else if(表达式){ }...else{ }
3,定义变量,并且给初始值
switch(变量){//byte short int char
case 值1:{
break;
}
case 值2:{
break;
}
case 值3:{
break;
}
.........
default:{
break;
}
}
练习:1,定义一个变量a,若a的值大于0则输出“正数”,
其他情况输出“非正数”
2,定义一个布尔类型的变量b,若b为真,则输出
“真的”,否则输出“假的”
3,成绩为90-100之间输出“优”,70-90输出“良”,
60-70输出“及格”,0-60输出“不及格”,
其他情况输出“非人类”
4,定义float类型变量表示降雨量,
若降雨量大于100ml则输出“暴雨”,
50-100ml输出“大雨”,10-50ml输出“中雨”,
0-10输出“小雨”,其余情况“没雨”
5,定义int类型变量,若变量值为1 输出“男”,
若值为2 输出“女”,若值为3 输出“女博士”,
其他情况输出“未知”
6,编写一个Java应用程序。用户从键盘输入一个
1—9999之间的数,程序将判断这个数是几
位数,并判断这个数是否是回文数。
回文数是指将该数含有的数字逆序排列后得
到的数和原数
相同,例如12121、3223都是回文数。
四,循环语句
1,for(初始值;终止条件;增量){
}
2, 初始值;
while(终止条件){
增量;
}
3,初始值;
do{
增量;
}while(终止条件);(注意这个分号,别落下)
练习:1,打印下列图形
*
**
***
****
*****
----------分割线-------------------
*****
****
***
**
*
----------分割线-------------------
*****
****
***
**
*
----------分割线-------------------
*
**
***
****
*****
----------分割线-------------------
*
***
*****
*******
*********
----------分割线-------------------
*********
*******
*****
***
*
----------分割线-------------------
*
***
*****
*******
*****
***
*
----------分割线-------------------
*
* *
* *
* *
* *
* *
*
2,打印九九乘法表
3,求下列试子的值:1-1/2+1/3-1/4+1/5-1/6+......+1/99-1/100,并将结果输出
4,一小和尚挑水,要把水缸装满,而且每次只能挑5升水,水缸能容纳80升水。
问:小和尚要挑几次才能把水缸挑满?
5,写一个程序判断-100到100的数是正负奇数还是正负偶数
6,用while实现6的阶乘
7,用do...while实现6的阶乘
8,用for实现6的阶乘
*9,编写程序解决百鸡问题:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,
百钱买百鸡,求买鸡翁、鸡母、鸡雏各几何?
五,数组
1,数组的定义(共三种方式)
(1)type[] 变量名 = new type[数组中元素的个数];
比如:int[] a = new int[6];
(2)type变量名[] = new type[数组中元素的个数];
比如:int a[] = new int[6];
(3)type[] 变量名 = new type[]{逗号分隔的初始化值};
其中new type[]部分可省略,所以又有两种:
int[] a = {1,2,3,4};
int[] a = new int[]{1,2,3,4};//后面方括号中不能加上数组长度
2,数组的赋值(两种方式)
(1)定义数组时直接在等号后面赋值
比如:int[] a = {1,2,3,4};
(2)利用下标(索引)的方式赋值
比如:int[] a = new int[3];
a[0] = 1;
a[1] = 2;
a[2] = 3;
练习:分别用四种方式定义下面数组,并分别用以上两种方式赋值
{7,5,8,2,4,9,0,9}
{'a','哈','嘻','嘿','呵','2','f'}
{“李文斌”,“李元童”,“刘耀华”,“孙东正”,“徐志鹏”,“白路”}
3,数组中元素交换位置
例如:交换数组int[] a = {1,2,3,4};下标0和3的元素的位置
int b = a[0];
a[0] = a[3];
a[3] = a[0];
4,数组的长度 int[] a = {1,3,2}; a.length的结果是3;
5,对数组遍历输出for(int i=0;i<a.length;i++){System.out.print(a[i]);}
6,数组相等的判定equals()
7,数组的排序(介绍四种)
//冒泡排序算法
public static int[] bubbleSort(int[] args){
for(int i=0;i<args.length-1;i++){
for(int j=i+1;j<args.length;j++){
if (args[i]>args[j]){
int temp=args[i];
args[i]=args[j];
args[j]=temp;
}
}
}
return args;
}
//选择排序算法--假定下标为0的数最小
public static int[] selectSort(int[] args){
for (int i=0;i<args.length-1 ;i++ ){
int min=i;
for (int j=i+1;j<args.length ;j++ ){
if (args[min]>args[j]){
min=j;
}
}
if (min!=i){
int temp=args[i];
args[i]=args[min];
args[min]=temp;
}
}
return args;
}
//插入排序算法
public static int[] insertSort(int[] args){
for(int i=1;i<args.length;i++){
for(int j=i;j>0;j--){
if (args[j]<args[j-1]){
int temp=args[j-1];
args[j-1]=args[j];
args[j]=temp;
}else break;
}
}
return args;
}
//排序方法快速排序
public static int[] fastSort(int[] args){
Arrays.sort(args);
return args;
}
扩展:1,数组在内存中的存储状态
2,Arrays.sort()方法的底层代码(了解)
3,判定给定元素是否在数组中
4,数组的扩容
5,增强for循环
练习:1. 自定义一个整数数组,计算一个整数数组的平均值
2. 自定义一个整数数组a,读入一个整数n,如果n 在数组中存在,则输出n 的下标;如果
不存在,则输出-1。
3. 给定一个数组,输出数组中的最大值和最小值
4. *给定一个数组,把这个数组中所有元素顺序进行颠倒。
5. *数组的扩容。
6. *数组的插入和删除
7,*去除数组中重复元素
8,二维数组的定义,赋值,读取
1,基本数据类型有哪几个,每个占多少位?
2,分别用8种基本类型定义一个变量?
3,阐述标识符的命名规则?(四点)
a,只能是字母,数字,下划线,和$
b,数字不能开头
c,见名知意
d,不能是关键字
二,运算符
算数运算符:+(加) -(减) *(乘) /(除) %(取余数)---(算数运算符分别举例测试)
逻辑运算符:&(与) |(或) !(非) ^(异或) &&(短路与) ||(短路或)--(列表格分别测试,我上课时候列的表格)
比较运算符:== != > >= < <=
单操作运算符(一个操作数):++ -- (分别测试++和--放在变量前后的效果)
位运算符:>>(有符号右移) <<(有符号左移) >>>(无符号右移) (了解就行)
三目运算符:表达式?值1:值2 (自己举例测试,重要)
三,分支语句
1,if(表达式){ }else{ }
2,if(表达式){ }else if(表达式){ }else if(表达式){ }...else{ }
3,定义变量,并且给初始值
switch(变量){//byte short int char
case 值1:{
break;
}
case 值2:{
break;
}
case 值3:{
break;
}
.........
default:{
break;
}
}
练习:1,定义一个变量a,若a的值大于0则输出“正数”,
其他情况输出“非正数”
2,定义一个布尔类型的变量b,若b为真,则输出
“真的”,否则输出“假的”
3,成绩为90-100之间输出“优”,70-90输出“良”,
60-70输出“及格”,0-60输出“不及格”,
其他情况输出“非人类”
4,定义float类型变量表示降雨量,
若降雨量大于100ml则输出“暴雨”,
50-100ml输出“大雨”,10-50ml输出“中雨”,
0-10输出“小雨”,其余情况“没雨”
5,定义int类型变量,若变量值为1 输出“男”,
若值为2 输出“女”,若值为3 输出“女博士”,
其他情况输出“未知”
6,编写一个Java应用程序。用户从键盘输入一个
1—9999之间的数,程序将判断这个数是几
位数,并判断这个数是否是回文数。
回文数是指将该数含有的数字逆序排列后得
到的数和原数
相同,例如12121、3223都是回文数。
四,循环语句
1,for(初始值;终止条件;增量){
}
2, 初始值;
while(终止条件){
增量;
}
3,初始值;
do{
增量;
}while(终止条件);(注意这个分号,别落下)
练习:1,打印下列图形
*
**
***
****
*****
----------分割线-------------------
*****
****
***
**
*
----------分割线-------------------
*****
****
***
**
*
----------分割线-------------------
*
**
***
****
*****
----------分割线-------------------
*
***
*****
*******
*********
----------分割线-------------------
*********
*******
*****
***
*
----------分割线-------------------
*
***
*****
*******
*****
***
*
----------分割线-------------------
*
* *
* *
* *
* *
* *
*
2,打印九九乘法表
3,求下列试子的值:1-1/2+1/3-1/4+1/5-1/6+......+1/99-1/100,并将结果输出
4,一小和尚挑水,要把水缸装满,而且每次只能挑5升水,水缸能容纳80升水。
问:小和尚要挑几次才能把水缸挑满?
5,写一个程序判断-100到100的数是正负奇数还是正负偶数
6,用while实现6的阶乘
7,用do...while实现6的阶乘
8,用for实现6的阶乘
*9,编写程序解决百鸡问题:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,
百钱买百鸡,求买鸡翁、鸡母、鸡雏各几何?
五,数组
1,数组的定义(共三种方式)
(1)type[] 变量名 = new type[数组中元素的个数];
比如:int[] a = new int[6];
(2)type变量名[] = new type[数组中元素的个数];
比如:int a[] = new int[6];
(3)type[] 变量名 = new type[]{逗号分隔的初始化值};
其中new type[]部分可省略,所以又有两种:
int[] a = {1,2,3,4};
int[] a = new int[]{1,2,3,4};//后面方括号中不能加上数组长度
2,数组的赋值(两种方式)
(1)定义数组时直接在等号后面赋值
比如:int[] a = {1,2,3,4};
(2)利用下标(索引)的方式赋值
比如:int[] a = new int[3];
a[0] = 1;
a[1] = 2;
a[2] = 3;
练习:分别用四种方式定义下面数组,并分别用以上两种方式赋值
{7,5,8,2,4,9,0,9}
{'a','哈','嘻','嘿','呵','2','f'}
{“李文斌”,“李元童”,“刘耀华”,“孙东正”,“徐志鹏”,“白路”}
3,数组中元素交换位置
例如:交换数组int[] a = {1,2,3,4};下标0和3的元素的位置
int b = a[0];
a[0] = a[3];
a[3] = a[0];
4,数组的长度 int[] a = {1,3,2}; a.length的结果是3;
5,对数组遍历输出for(int i=0;i<a.length;i++){System.out.print(a[i]);}
6,数组相等的判定equals()
7,数组的排序(介绍四种)
//冒泡排序算法
public static int[] bubbleSort(int[] args){
for(int i=0;i<args.length-1;i++){
for(int j=i+1;j<args.length;j++){
if (args[i]>args[j]){
int temp=args[i];
args[i]=args[j];
args[j]=temp;
}
}
}
return args;
}
//选择排序算法--假定下标为0的数最小
public static int[] selectSort(int[] args){
for (int i=0;i<args.length-1 ;i++ ){
int min=i;
for (int j=i+1;j<args.length ;j++ ){
if (args[min]>args[j]){
min=j;
}
}
if (min!=i){
int temp=args[i];
args[i]=args[min];
args[min]=temp;
}
}
return args;
}
//插入排序算法
public static int[] insertSort(int[] args){
for(int i=1;i<args.length;i++){
for(int j=i;j>0;j--){
if (args[j]<args[j-1]){
int temp=args[j-1];
args[j-1]=args[j];
args[j]=temp;
}else break;
}
}
return args;
}
//排序方法快速排序
public static int[] fastSort(int[] args){
Arrays.sort(args);
return args;
}
扩展:1,数组在内存中的存储状态
2,Arrays.sort()方法的底层代码(了解)
3,判定给定元素是否在数组中
4,数组的扩容
5,增强for循环
练习:1. 自定义一个整数数组,计算一个整数数组的平均值
2. 自定义一个整数数组a,读入一个整数n,如果n 在数组中存在,则输出n 的下标;如果
不存在,则输出-1。
3. 给定一个数组,输出数组中的最大值和最小值
4. *给定一个数组,把这个数组中所有元素顺序进行颠倒。
5. *数组的扩容。
6. *数组的插入和删除
7,*去除数组中重复元素
8,二维数组的定义,赋值,读取