终于开始学习JAVA了,希望我可以坚持下去~~
java程序的拓展名为.java
java经过编译,可执行文件拓展名为.class
java的绝大部分语法与C语言相同,如:大小写敏感、分号结尾、注释写法等等
| 整数类型 | 字符数 |
|---|---|
| byte | 1个字节 |
| short | 2个字节 |
| int | 4个字节 |
| long | 8个字节 |
注意:
①在java中,高精度的数据不能直接赋值给低精度的变量,除非强制转换
②long型的话,数值后面加L
例如:
long a = 10098098L;
| 实数类型 | 字符数 |
|---|---|
| float | 4个字节 |
| double | 8个字节 |
注意:
在java中,实数常量默认为double型,所以在float定义的时候,在数值前强制转换或者数值后加“F”
例如:
float a = 3.1415F;
float a = (float)3.1415;
| 实数类型 | 字符数 |
|---|---|
| char | 2个字节 |
注意:
在java中,字符类型分为char型和转义字符,java中转义字符的用法与C语言中的用法基本相同
String S = "Hello World!";
| 实数类型 | 字符数 |
|---|---|
| boolean | 至少1个字节 |
注意:
布尔类型的值只有true 和 false
boolean a = true;
boolean b = false;
| 运算符类型 | 例如 |
|---|---|
| 关系运算 | > 、 <、 >=、<=、==、!= |
| 算术运算 | +、-、*、/、% |
| 逻辑运算 | &&、! |
| 赋值运算 | +=、-=、*=、/=、++、– |
java中运算符的用法与C中基本相同
| 程序流程 | 例如 |
|---|---|
| 顺序 | |
| 选择 | if-[else if]-else、switch-case |
| 循环 | while、do-while、for |
| 控制 | break、continue |
java中程序流程与C语言中用法基本相同
C语言:
int a[10];
a[0] a[1] ... a[9]
int N = 10; int a[N]; 错误
C语言:
int a[10];
Java:
int[] a = new int[10];
int a[] = new int[10];
Java:
int[] a = new int[10]; //推荐
int a[] = new int[10];
额外知识:
1)、数组长度获取
数组名称.length;
2)、数组空间是动态分配的
C语言:
int a[4][5];
Java:
int[][] a = new int[4][5];
int a[][] = new int[4][5];
int []a[] = new int[4][5];
额外知识:
(1)二维数组实际上是一维数组的集合
int[][] a = new int[4][5];
实际上定义了4个一维数组,a[0]\a[1]..a[3]
每个一维数组,都有5个元素
如a[0]包含a[0][1]...a[0][4]
编写程序,打印一个二维数组中元素的个数
class Pro1{
public static void main (String[] args) {
int[] a = new int[10];
int b[] = new int[10];
for(int i=0;i<10;i++){
a[i] = i+1;
}
for(int i=0;i<10;i++){
System.out.println(a[i]);
}
}
}
问题:Java数组能否扩充?不能
C数组能否扩充?不能
class Pro1{
public static void main (String[] args) {
int[] a = new int[]{34, 6, 3, 24, 78, 90, 25, 79, 76};
for(int j=0;j<a.length-1;j++){
for(int i=0;i<a.length-1-j;i++){
if(a[i]<a[i+1]) {
int t; t=a[i]; a[i]=a[i+1]; a[i+1]=t;
}
}
}
for(int t : a){
System.out.println(t);
}
}
}
class Pro1{
public static void main (String[] args) {
double d = 2;
double low = 0, high = d;
double mid=0;
for(int i=1;i<=1000;i++){
mid = (low+high)/2;
if(mid*mid>d) high=mid;
else low =mid;
}
System.out.println(mid);
}
}
Math.random()能够生成一个大于等于0,小于1的double随机数
class Pro1{
public static void main (String[] args) {
int[] a = new int[100];
for(int i=0;i<a.length;i++) a[i]=i+1;
for(int i=1;i<=1000;i++){
int L1 = (int)(100*Math.random());
int L2 = (int)(100*Math.random());
int t; t=a[L1]; a[L1]=a[L2]; a[L2]=t;
}
for(int t : a){
System.out.print(t + " ");
}
}
}
class Pro1{
public static void main (String[] args) {
int mon = 100;
for(int i=1;i<=1000;i++){
double d = Math.random();
if(d<0.5) mon+=20;
else mon-=20;
if(mon==0) { System.out.print("输光 "); break;}
}
System.out.print("还剩:"+mon);
}
}