java 第二天
(一) 数据类型;
2种: 对象类型:
基本类型:整数:
byte[1], -128-----127
short[2], -32768------32767
int[4], -2147483648-----2147483647
long[8], -2[63]------2[63]-1
浮点数:
float [4] float f=1.3f
double[8] double d=1.3d [d]可以加也可以不加.
不尔类型: boolean 字面值只有true,flase, [不能b=1] 只能是: b=true;
字符类型: char[2] unicode 编码 char c='/u2323[asc码]'
char c='/n0061' char c='a' char c=97; char a='中'.
publicclass TestDataType{
(一) 数据类型;
2种: 对象类型:
基本类型:整数:
byte[1], -128-----127
short[2], -32768------32767
int[4], -2147483648-----2147483647
long[8], -2[63]------2[63]-1
浮点数:
float [4] float f=1.3f
double[8] double d=1.3d [d]可以加也可以不加.
不尔类型: boolean 字面值只有true,flase, [不能b=1] 只能是: b=true;
字符类型: char[2] unicode 编码 char c='/u2323[asc码]'
char c='/n0061' char c='a' char c=97; char a='中'.
publicclass TestDataType{
publicstaticvoid main(String args[]){
byte b1=1;
byte b2=2;
byte b3=b1+b2;
System.out.println(b3); // 可能丢失精度[自动类型提升] byte + byte = int 也就是说,有double// -> double
float ->floatlong->long 其他的全是int
String在Java中重载了,"+"号, 相当于字符串联接. s1+s2 如果其中有一个是字符串结果是字符串
例子: System.out.println("123"+456+789); 结果: 123456789
System.out.println(12+34+"678"); 结果: 46678
(2) 局部变量:
publicclass Test {
例子: System.out.println("123"+456+789); 结果: 123456789
System.out.println(12+34+"678"); 结果: 46678
(2) 局部变量:
publicclass Test {
publicstaticvoid main(String[] args) {
int a;// 定义在方法中的变量为局部变量: 局部变量必需先赋值 ,后使用.局部变量作用范围:
// 定义它的代码块.在一个重合的范围内,不允许两个局部变量发生命名冲突.
}
}
(3) 操作符.
>>: 有符号右移, >>>: 无符号右移.
(3) 操作符.
>>: 有符号右移, >>>: 无符号右移.
&: 非短路运算符.
&&: 短路运算符.
a=a+b;和a+=b; 的区别;后面的+=没有自动类型提升.
例子: bytea=10; a=a+20 和 a+=20;
(4) 流程控制:
switch(s) s=[byte,short,int ,char]
(5) 数组
是一个对象; 没有方法,只有一个属性: .length;
数组元素,在分配空间的时候,就已经分配了默认值: 都是0: 0,0L,OF,OD,false;String [对象]->NULL;
定义: int[] a;
分配空间: a=new int[5];
和起来作: int[] b={23,23,45,5,34,2,52,2,3}; //显式初始化.
二维数组:是一维数组的一维数组:
int[] b={3,4,5,6,7,8,9};
int[] b=new int[]{3,4,5,6,7,7};//在这里不允许指定长度;
int[][] a=new int[3][];
a[0]=new int[3];
a[1]=new int[5];
a[2]=new int[9];
如何定义全局变量.
switch(s) s=[byte,short,int ,char]
(5) 数组
是一个对象; 没有方法,只有一个属性: .length;
数组元素,在分配空间的时候,就已经分配了默认值: 都是0: 0,0L,OF,OD,false;String [对象]->NULL;
定义: int[] a;
分配空间: a=new int[5];
和起来作: int[] b={23,23,45,5,34,2,52,2,3}; //显式初始化.
二维数组:是一维数组的一维数组:
int[] b={3,4,5,6,7,8,9};
int[] b=new int[]{3,4,5,6,7,7};//在这里不允许指定长度;
int[][] a=new int[3][];
a[0]=new int[3];
a[1]=new int[5];
a[2]=new int[9];
如何定义全局变量.
(6)字符串转换成int型的数据
下面是把字符串转换成 int 型的函数. //[很重要的]
int m=Integer.parseInt(args[0]);
int n=Integer.parseInt(args[1]);
======================================================================
作业:
2, 有偶数支足球队进行单循环比赛,请按照指定算法打印每轮的对阵形势
算法://U形排列, 逆时针旋转,//数组轮换
publicclass game {
下面是把字符串转换成 int 型的函数. //[很重要的]
int m=Integer.parseInt(args[0]);
int n=Integer.parseInt(args[1]);
======================================================================
作业:
2, 有偶数支足球队进行单循环比赛,请按照指定算法打印每轮的对阵形势
算法://U形排列, 逆时针旋转,//数组轮换
publicclass game {
static String[] a = { "中国", "巴西", "德国", "法国", "英国", "阿根廷" };
publicstaticvoid main(String[] args) {
game g = new game();
for (int n = 0; n < a.length - 1; n++) {
System.out.println("The time of [" + (n + 1) + "]");
g.print();
g.nextRound();
}
}
void print() {
for (int i = 0; i < (a.length / 2); i++) {
System.out.println(a[i] + "---" + a[a.length - i - 1] + '/t');
}
System.out.println();
}
void nextRound() {
String b = a[a.length - 1];
for (int i = a.length - 1; i >= 2; i--) {
a[i] = a[i - 1];
}
a[1] = b;
}
}
总结: 这一个题为什么没有很快的做出来?因为1,没有面向对象的思想,分析问题的逻辑很混乱[作的题目少],没有分而置之的思想.首先,要把问题分为若干的小函数.也就是一些小方法.大问题就是这样一个一个的小问题组合起来的,写各种方法[函数],有利于代码的重用性.在着重的提示一下,把问题分而置之.分析然后再设计各种方法.
=====================================================================
3.定义一个奇数阶二维数组,把每个元素顺序填入不同的自然数,要求行列和对角线元素相加的结果相等[九宫格问题]:
8 1 6
3 5 7
4 9 2
3. 九宫格问题:
publicclass ge {
总结: 这一个题为什么没有很快的做出来?因为1,没有面向对象的思想,分析问题的逻辑很混乱[作的题目少],没有分而置之的思想.首先,要把问题分为若干的小函数.也就是一些小方法.大问题就是这样一个一个的小问题组合起来的,写各种方法[函数],有利于代码的重用性.在着重的提示一下,把问题分而置之.分析然后再设计各种方法.
=====================================================================
3.定义一个奇数阶二维数组,把每个元素顺序填入不同的自然数,要求行列和对角线元素相加的结果相等[九宫格问题]:
8 1 6
3 5 7
4 9 2
3. 九宫格问题:
publicclass ge {
publicstaticvoid main(String[] args) {
int a = Integer.parseInt(args[0]);
if (a % 2 == 0) {
System.out.println("error please enter oushu");
System.exit(0);
}
int[][] s = newint[a][a];
int m = 0;
int n = (a - 1) / 2;
for (int i = 1; i < a * a; i++) {
s[m][n] = i;
m--;
n++;
if (m == -1 && n < a) {
m = a - 1;
} elseif (n == a && m >= 0) {
n = 0;
} elseif ((m == -1 && n == a) || (s[m][n] != 0)) {
m += 2;
n--;
}
s[m][n] = i + 1;
}
for (int i = 0; i < a; i++) {
for (int j = 0; j < a; j++) {
System.out.print(s[i][j] + " ");
}
System.out.println();
}
}
}
总结: 这题给了算法就好作多了
本文介绍了Java中的数据类型,包括基本类型如整数、浮点数、布尔类型及字符类型,并探讨了局部变量的概念、操作符的使用、流程控制、数组的操作以及字符串到整数的转换方法。
2382

被折叠的 条评论
为什么被折叠?



