在线测试工具
go 代码 :http://www.runoob.com/try/runcode.php?filename=helloworld&type=go
java 代码 : http://www.runoob.com/try/runcode.php?filename=HelloWorld&type=java
1、打印输出
运行结果
hello world!
22222222
ssss
44444444
33333333
%s1144444444
%s2244444444
go代码
package main
import (
"fmt"
"os"
)
func main() {
fmt.Printf("%s%s\n", "hello world","!")//主线程 格式化输出 多参数
fmt.Fprint( os.Stdout,"ssss\n")//主线程
println("22222222")//子线程 没有缓冲
println("33333333")//子线程 没有缓冲
fmt.Printf("%s\n","44444444")//主线程 格式化输出
fmt.Print("%s11","44444444\n")//主线程 拼接(可拼接数字,但有空格)
fmt.Print("%s22"+"44444444\n")//主线程 拼接(只能拼接字符串)
}
java代码
package test;
public class Test {
public static void main(String[] args) {
System.out.printf("%s%s\n", "hello world","!");//主线程 格式化输出 多参数
System.out.printf( "ssss\n");//主线程
System.err.println("22222222");//子线程 没有缓冲
System.err.println("33333333");//子线程 没有缓冲
System.out.printf("%s\n","44444444");//主线程 格式化输出
System.out.print("%s11".concat("44444444\n"));//主线程 拼接
System.out.print("%s22"+"44444444\n");//主线程 拼接
}
}
2、数据类型
运行结果
1字节 布尔型 例:false
2字节 字符型 例:a
4字节 单精度 例:3.4028235E38
8字节 双精度 例:1.7976931348623157E308
1字节 数字型 例:127
2字节 数字型 例:97
4字节 数字型 例:2147483647
8字节 数字型 例:1533785164371
go代码
package main
import (
"fmt"
"math"
"time"
)
func main() {
var mBoolean bool = false
var mChat uint16 = 'a'
var mFloat float32 = math.MaxFloat32
var mDouble float64 = math.MaxFloat64
fmt.Print("1字节 布尔型 例:",mBoolean,"\n");
fmt.Printf("2字节 字符型 例:%c\n",mChat);
fmt.Print("4字节 单精度 例:",mFloat,"\n");
fmt.Print("8字节 双精度 例:",mDouble,"\n");
var mByte byte = math.MaxInt8;
var mShort rune = 97;
var mInt int32 = math.MaxInt32;
var mLong int64 = time.Now().UnixNano() / 1e6;
fmt.Print("1字节 数字型 例:",mByte,"\n");
fmt.Printf("2字节 数字型 例:%d\n",mShort);
fmt.Print("4字节 数字型 例:",mInt,"\n");
fmt.Print("8字节 数字型 例:",mLong,"\n");
}
java代码
package test;
public class Test {
public static void main(String[] args) {
boolean mBoolean = false;
char mChat = 'a';
float mFloat = Float.MAX_VALUE;
double mDouble = Double.MAX_VALUE;
System.out.println("1字节 布尔型 例:"+mBoolean);
System.out.println("2字节 字符型 例:"+mChat);
System.out.println("4字节 单精度 例:"+mFloat);
System.out.println("8字节 双精度 例:"+mDouble);
byte mByte = Byte.MAX_VALUE;
short mShort = (short)"a".charAt(0);
int mInt = Integer.MAX_VALUE;
long mLong = System.currentTimeMillis();
System.out.println("1字节 数字型 例:"+mByte);
System.out.println("2字节 数字型 例:"+mShort);
System.out.println("4字节 数字型 例:"+mInt);
System.out.println("8字节 数字型 例:"+mLong);
}
}
3、条件语句
运行结果
AB
go代码
package main
import (
"fmt"
)
func main() {
if n, _ := fmt.Printf("A"); n != 1 {
fmt.Print("A");
} else {
fmt.Print("B");
}
}
java代码
package test;
public class Test {
public static void main(String[] args) {
if(System.out.printf("A")==null) {
System.out.print("A");
}else {
System.out.print("B");
}
}
}
4、循环语句
运行结果
百位数是0,结束本次循環
百位数是奇数,跳过
个数是奇数,回到最外层循环,当前结果为:201
百位数是奇数,跳过
个数是奇数,回到最外层循环,当前结果为:401
百位数是奇数,跳过
个数是奇数,回到最外层循环,当前结果为:601
百位数是奇数,跳过
个数是奇数,回到最外层循环,当前结果为:801
百位数是奇数,跳过
go代码
package main
import (
"fmt"
)
func main() {
i := 0;
loop: for ; i<10 ;i++ {
if i%2==1 {
fmt.Print("百位数是奇数,跳过"+"\n");
continue;
}
for j := 0 ;j <10;j++ {
if i==0 {
fmt.Print("百位数是0,结束本次循環"+"\n");
break;
}
for k:=0;k<10;k++ {
if k%2==1 {
fmt.Printf("个数是奇数,回到最外层循环,当前结果为:%d%d%d\n",i,j,k);
/*方案一*/
//continue loop;
/*方案二*/
i++;
goto loop;
}
}
}
}
}
java代码
package test;
public class Test {
public static void main(String[] args) {
go:for(int i = 0 ;i<10;i++) {
if(i%2==1) {
System.out.println("百位数是奇数,跳过");
continue;
}
for(int j = 0 ;j <10;j++) {
if(i==0) {
System.out.println("百位数是0,结束本次循環");
break;
}
for(int k=0;k<10;k++) {
if(k%2==1) {
System.out.println("个数是奇数,回到最外层循环,当前结果为:"+i+j+k);
continue go;
}
}
}
}
}
}
5、函数调用
运行结果
奖品信息:{手机=2, 笔记本=1}
获取名单:
欢欢抽中:手机
旭旭抽中:笔记本
虎虎抽中:手机
go代码
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
/* 模拟抽奖系统 */
var peoples = []string{ "旭旭", "欢欢", "亮亮", "伦伦", "虎虎", "文文" };// 参与人
prizes := []string { "手机", "笔记本", "手机" };// 奖品列表
mPeoples,mMap := randomPeople(peoples, prizes);
fmt.Printf("奖品信息:%v\n\n" ,mMap );
fmt.Printf("获取名单:\n");
for i := 0 ;i< len(prizes);i++ {
fmt.Print(mPeoples[i]+"抽中:"+prizes[i]+"\n");
}
}
func randomPeople(peoples []string ,prizes []string )( mPeoples []string ,mMap map [string]int ){
r := rand.New(rand.NewSource(time.Now().UnixNano()))
for i := 0; i < len(peoples); i++ {
/*找到随机的下标*/
randomIndex := (int32)(r.Intn(len(peoples)-i));
/*与末尾进行交换*/
t := peoples[len(peoples)-1-i] ;
peoples[len(peoples)-1-i] = peoples[randomIndex] ;
peoples[randomIndex] = t;
}
mPeoples = peoples;
mMap = map [string]int{};
for i:=0;i< len(prizes);i++{
mMap[prizes[i]] = mMap[prizes[i]] + 1;//此奖品递加1
}
return;
}
java代码
package test;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) {
/* 模拟抽奖系统 */
String[] peoples = new String[] { "旭旭", "欢欢", "亮亮", "伦伦", "虎虎", "文文" };// 参与人
String[] prizes = new String[] { "手机", "笔记本", "手机" };// 奖品列表
System.out.println("奖品信息:" + randomPeople(peoples, prizes)+"\n");
System.out.println("获取名单:");
for(int i = 0 ;i<prizes.length;i++) {
System.out.println(peoples[i]+"抽中:"+prizes[i]);
}
}
/**
* 对参与人进行随机排序,并获得奖品分组信息
* @param peoples 参与人
* @param prizes 奖品列表
* @return 奖品分组信息
*/
public static String randomPeople(String[] peoples, String[] prizes) {
for (int i = 0; i < peoples.length; i++) {
/*找到随机的下标*/
int randomIndex = (int)(Math.random()*(peoples.length-i));
/*与末尾进行交换*/
String t = peoples[peoples.length-1-i] ;
peoples[peoples.length-1-i] = peoples[randomIndex] ;
peoples[randomIndex] = t;
}
Map<String,Integer> map = new HashMap<String,Integer>();
for(int i=0;i<prizes.length;i++) {
if(map.get(prizes[i])==null) {
map.put(prizes[i], 0);
}
map.put(prizes[i],map.get(prizes[i])+1);//此奖品递加1
}
return map.toString();
}
}
网友评论