写点什么

通过几个小程式来快速学习 Java 基本语法 | Java

用户头像
Regan Yue
关注
发布于: 刚刚

前置知识

标识符:Java 语言使用的是 Unicode 字符集,使用 2 个字节表示一个符号,总共可描述 65536 个不同的符号,基本上可以描述世界上所有国家的文字。因此,除可以使用通常的方式来命名标识符之外,也可以使用中文、日文、朝鲜文作为标识符。但是,对于程序员来说:最好还是使用遵从一般规范。


在 Java 语言中规定了各基本类型的数据所占的固定字节数。分别如下:



与 C 语言不同的是,Java 语言中增加了 boolean 类型,即逻辑类型(布尔类型),其变量只有 2 个常量值,绝对不能与 C 中的非 0 就是真、0 就是假混淆。


运算规则、选择结构、循环结构与 C 语言基本一致,不再赘述了。


数组属于特殊的类,每个数组都是一个对象。对象都是指针。


一维数组的声明、定义、赋值(创建数组),访问(包括使用 foreach 方式,Java 中新增加的遍历方式),数组的元素个数


二维数组:C 语言里面的的二维数组存在栈空间中。


Java 里面的二维数组存在堆空间中。


C 语言二维数组的第二维长度必须和第一维长度一致,而 Java 语言中的二维数组第二维不必与第一维长度一致。

基础题



第一题参考代码

import java.util.Scanner;
public class 实验2_1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String num = scanner.next(); String[] str = num.split("\\."); System.out.println("整数部分"+str[0]); System.out.println("小数部分0."+str[1]); }}
复制代码

第二题参考代码

import java.util.Scanner;
public class 实验2_2 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[] a = new int[10]; for(int i=0;i<10;i++){ a[i] = scanner.nextInt(); } for(int i=0;i<10-1;i++){ for(int j=0;j<10-i-1;j++){ if(a[j]>a[j+1]){ int temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } for(int k=0;k<10;k++){ System.out.print(a[k]+" "); }
System.out.println("最大值是"+a[9]); System.out.println("最小值是"+a[0]); }}
复制代码

第三题参考代码

import java.text.SimpleDateFormat;import java.time.LocalDateTime;import java.util.Calendar;import java.util.Date;import java.util.Scanner;
public class 实验2_3 { public static void main(String[] args) throws Exception { Scanner scanner = new Scanner(System.in); System.out.println("请按顺序输入年月日"); String year = scanner.next(); String month = scanner.next(); String day = scanner.next(); Date date = new Date(); String dateString = year+"-"+month+"-"+day; System.out.println(dateString); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); date = dateFormat.parse(dateString);
String[] weeks = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"}; Calendar cal = Calendar.getInstance(); cal.setTime(date); int week_index = cal.get(Calendar.DAY_OF_WEEK) - 1; if(week_index<0){ week_index = 0; } System.out.println("这天是"+weeks[week_index]);
int yearInt = Integer.parseInt(year); int monthInt = Integer.parseInt(month); int dayInt = Integer.parseInt(day);
LocalDateTime time = LocalDateTime.of(yearInt,monthInt, dayInt, 0 ,0 ,0); int dayOfYear = time.getDayOfYear(); System.out.printf("这天是%d年的第%d天",yearInt,dayOfYear); }}
复制代码

第四题参考代码

import java.util.Scanner;
/** 判断一个整数是否是素数*/public class 实验2_4 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); if(prime(num)){ System.out.println(num+"是素数"); }else { System.out.println(num+"不是素数"); } } static boolean prime(int num){ if(num<=1) return false; for(int i=2;i<=Math.sqrt(num);i++){ if(num%i==0){ return false; } } return true; }}
复制代码

第五题参考代码

/**  输入一个数,求它的所有因子* 一个数,如果存在可以被它整除的数且这些数不包括它本身,则这些书都是该数的因子。* 规定0没有因子,1的因子是1,其他的比如4的因子有“1”、“2” */import java.util.Scanner;
public class 实验2_5 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int num = scanner.nextInt();
System.out.print(1+" "); for(int i = 2;i<=Math.sqrt(num);i++){ if(num%i==0){ System.out.println(i+" "); System.out.println(num/i+" "); } } }}
复制代码

第六题参考代码

import java.util.Scanner;
public class 实验2_6_1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); System.out.println(num+"的二进制是"+Integer.toBinaryString(num)); System.out.println(num+"的八进制是"+Integer.toOctalString(num)); System.out.println(num+"的十六进制是"+Integer.toHexString(num)); }}/** 16进制转10进制*/import java.util.Scanner;
public class 实验2_6_2 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String Hexnum = scanner.next(); int num = Integer.parseInt(Hexnum,16); System.out.println(num); }}
复制代码

第七题参考代码

import java.util.Scanner;
public class 实验2_7 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str = scanner.next();
int[] cnt = new int[54];
for(int i=0;i<str.length();i++){ char ch = str.charAt(i); if((ch>=65&&ch<=90 )||( ch>=97&&ch<=122)){ int index = ch-65; cnt[index]+=1; }
} for(int j=0;j<cnt.length;j++){ if(cnt[j]!=0){ System.out.println((char)(j+65)+"出现"+cnt[j]+"次。"); } } }}
复制代码


发布于: 刚刚阅读数: 5
用户头像

Regan Yue

关注

还未添加个人签名 2020.08.12 加入

对Go、Python、网络安全、区块链感兴趣. · 华为云云享专家 · 掘金资讯创作者

评论

发布
暂无评论
通过几个小程式来快速学习Java基本语法 | Java