java的语法对比c和c++来学习 很容易掌握 介绍如下:
注释 :
单行//
多行//
文档注释/ */ 可以跨多行,使用Javadoc命令生成帮助文档时,这样的注释会被生成标准的javaapi注释。
类型声明 :
java内的每个基本数据结构的长度是固定的 不会因为平台改变而改变(反正都是跑在jvm上)
一般来讲程序里出现一个整数都是int 出现小数一般是double
System.out.println("HelloWorld");
int x1 = 10;
int y1 = 30;
double x2=20.33;
double y2 = 300;
float x3=10.33f; //float类型和double区分 后缀必须加f
long x4=99999L;
float后面必须加f
变量前面加final表示这个变量是不可更改的 (可以理解成最终值就行了) 就像c里面的const
final double PI= 3.1415926;
//这里提一嘴 Integer Float Double是其对应的基本类型的包装类 后面装箱拆箱会提到
输出:
printlln的意思是换行 print是不换行
println print是程序的"控件" 称之为方法
如果 System.out.println(); 就是换行 c里面printf("\n");
在java中使用转义字符 \n 也可以直接实现换行
System.out.println("hello \n java ");
System.out.println(x1+x2);//30.33
System.out.println(x2+y2);//320.33
System.out.println(x2+x3);//30.659999923706053
System.out.println((Object)(x2+x3) instanceof Integer);//嘤嘤嘤 我写了个Int一开始 mmp
//判断x2+x3是不是interger
//false
System.out.println((Object)(x2+x3) instanceof Double);
//true
System.out.println("123"+"111");//拼接字符串
java的运算从左到右
System.out.println("1+2的和是"+1+2);
System.out.println(1+2+"是1+2的和");
1+2的和是12
3是1+2的和
第一行 是字符串拼接 所以后面俩数字都是强制类型转化为字符串以后拼接的
第二行 一开始是计算 也就是说 是数字运算 运算完了后面再拼接
平时写的时候加个括号吧 哈 这里讲出来是为了让你理解这个过程
System.out.println("2-1的和是"+2-1);这一行是不对的 字符串不能减去数值
+的话是拼接的意思 那你- 我怎么办 对吧
输入:
输入我也不知道为毛这么麻烦 书上说属于高级技术 行。。那就高级技术
首先你
import java.util.Scanner;
class A{
public static void main(String[] args){
Scanner stdIn = new Scanner(System.in);//stdIn可以改。。随便自己喜欢什么名字改什么
//后面可以正常读了
int x = stdIn.nextInt();
}
}
读字符串的话
String s = stdIn.next();//会被空格和制表符隔开 只能读取分隔符前面的一部分
s = stdIn.nextLine();//读取一整行 不会被隔断
这里有那么一个有意思的地方 就和c里面一样
代码如果是这个顺序
String s = stdIn.next();
System.out.println(s);
s = stdIn.nextLine();
System.out.println(s);
如果我输入 "123 111"
输出会是
"123
(空格)111"
这是因为键盘输入了以后字符串流进入缓冲区
你第一次只读到空格前 读走了123
剩下的 “空格111” 仍然留在缓冲区内 所以你下次读的时候不用等你输入了
“空格111” 直接就会被读走
生成随机数
import java.util.Random;
Random rand = new Random();//实例化Random这个类
//这是一种伪随机数生成的方法
int y=rand.nextInt();
System.out.println("随机数字是"+y);
y=rand.nextInt(10);//种子数设为10 随机数不会超过10
System.out.println("随机数字是"+y);