下载好了eclipse 学习一下java
文件 :
One.java
定义变量 和c/c++一致
多了一个byte基本类型 代替c/c++中的char
输出数据之间用+ 连接
java中的char为无符号常量拥有较c/c++的char更大的表示范围
Java中:
char能表示汉字byte不能
在表示单个英文字符时两者可以互转
byte相加会默认转成整型所以byte=byte+byte是错的
录入
方法/或者说头文件更好??
import java.util.Scanner;
录入工具
Scanner a =new Scanner(System.in);
其中 a是 自己取名 后面的System.in是系统参数 不能自己改
读取一行字符
String name =a.nextLine(); //读取下一行字符串 回车结束
读取一个整数
int age =a.nextInt(); //读取输入的下一个整数
还有下面这些(都是next+数据类型):
nextDouble() ……Byte Float Long Shot
还有直接next读取一行字符串
next() //空格 回车 tab
至于循环结构,在c/c++中的for while都是可以用的 但是其表达式为bool型表达式
就不能写while(1)之类的死循环 要用while(2!=1)代替
java提供了一种新的循环方法
目标数组:
String []names= {"Tom","marry","jacy"};
循环输出:
k=0;
for(String num:names)
{
if(k!=0)
//不能用 if(k) !!!!
System.out.print("*");
System.out.print(num);
k=1;
}
带标签的break 这样终于可以一次跳出所有循环了
语法格式:在要跳出的循环上面写上一个标签(字符串)后面加一个冒号
目标数组
int [] number= {10,20,30,40,50};
如下程序直接跳到结尾处
int i=1;
int b=1;
leable:
while(2!=1)
{
for(int num:number)
{
if(num==30)
{
System.out.println("程序已经退出\n");
break leable;
}
System.out.print(num+" ");
}
}//结尾处
只输出10 20
方法/自定义函数
在主函数
public static void main(String []args)
{
……
}
外写一个方法就是自定义函数了
如下是最常用的求最大公因数的方法
public static int gcd( int x, int y)
{
//之前写到主类里面了
return y==0?x:gcd(y,x%y);
}
在主函数中调用
public static void main(String []args)
{
int num1,num2;
num1=a.nextInt();
num2=a.nextInt();
int sum=gcd(num1, num2);
System.out.println("最大公因数 是:"+gcd(num1, num2));
}
调试代码
import java.util.Scanner;
//输入头文件
public class One {
public static void main(String []args)
{
//byte相加会默认成整型
char aa;
System.out.println("123"+"abc\n");
Scanner a =new Scanner(System.in);
//前面名字可以自取
//后面是固定的
//String name =a.nextLine();
//int age =a.nextInt();
//注意这里是nextInt!!
//System.out.println(name+" "+age+"\n");
/*
* nextLine()读取下一行字符串 回车
* next() 空格 回车 tab
* nextInt() 读取输入的下一个整数
* nextDouble() ……Byte Float Long Shot
*
*
*/
int [] number= {10,20,30,40,50};
//遍历数组java特别方法
//字符串数组一样的
String []names= {"Tom","marry","jacy"};
/*
int k=0;
for(int num:number)
{
if(k!=0)
//不能用 if(k) !!!!
//里面只能是返回boolean型的数值
System.out.print("*");
System.out.print(num);
k=1;
}
System.out.print("\n");
k=0;
for(String num:names)
{
if(k!=0)
//不能用 if(k) !!!!
System.out.print("*");
System.out.print(num);
k=1;
}
*/
//带标签的break
/*int i=1;
int b=1;
leable:
while(2!=1)
{
for(int num:number)
{
if(num==30)
{
System.out.println("程序已经退出\n");
break leable;
}
System.out.print(num+" ");
}
}
*/
int num1,num2;
num1=a.nextInt();
num2=a.nextInt();
int sum=gcd(num1, num2);
System.out.println("最大公因数 是:"+gcd(num1, num2));
//调用方法
}
//自定义函数 or 方法
//注 一个类有两个方法具有相同名字 但是有不同的参数列表
//eg:一个double 一个int 编译器根据传入数据来调用
public static int gcd( int x, int y)
{
//之前写到主类里面了
return y==0?x:gcd(y,x%y);
}
}