C++转Java自学之路(一)类前学习,java之路
C++转Java自学之路(一)类前学习,java之路
笔记主要内容:涉及类之前需要注意的地方。
Java SE是基础,任何与Java相关的东西都得学这个。
Java EE是企业级开发。
Java ME是嵌入式开发。
Java对大小写敏感。
Java 环境变量配置办法。http://jingyan.baidu.com/article/bea41d437a41b6b4c51be6c1.html
三步走。编写源程序,编译源程序,运行。
基本框架
public class Test{ //外层框架,类名需要和文件名一样
public static void main(String[] args){//Java入口程序框架
//填写代码
}
}
Java基本类型:char 字符型,int 整形,double 双精度,String 字符串
+号可以是一个算是运算符,也可以是一个连接符。
System.out.println("平均分"+avg);
char man='男'; //在java中中文字符可以用char型
int a=5;
double b=1.5;
int c=a+b;
将提示精度出错。需要强制类型转换。
利用扫描仪Scannner进行数据输入。
在类声明之前,引入扫描仪:import java.util.Scanner;
然后声明一个扫描仪并赋值:Scanner in=new Scanner(System.in);
使用扫描仪:
in.nextInt();//接收整型
in.nextDouble();//接收双精度型
in.next(); //接收字符串
java的boolean相当于C++中的bool类型。
对boolean类型进行输出,得到的是true或者false。不是0或者1。
使用随机数1:
先导入: import java.util.Random;
再new一个对象:Random rd=new Random();
使用: int num=rd.nextInt(10);//随机范围为0~9
使用随机数2:
Math.random();//将获得[0.0,1.0)之间的随机双精度数
栈区(Stacksegment):存放函数的参数值,局部变量的值等。在超过这个变量的作用域时就会被系统自动释放。
优点:存取速度比堆快。 缺点:存在栈中的数据大小与生存期必须是确定的。
堆区(Heapsegment):存放由new创建的对象和数组。Jvm不定时查看这个对象。如果没有引用只想这个对象就会被回收。
优点:可以动态分配Jvm内存。 缺点:速度慢
栈和堆使用示意图。
简单练习程序1(输出测试):
public class Test1{
public static void main(String[] args){
System.out.print("第一个测试程序");
}
}
简单练习程序2(输入姓名年龄,并显示):
import java.util.Scanner;
public class Test23{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("请输入您的姓名:");
String name=in.next();
System.out.println("请输入您的年龄:");
int age=in.nextInt();
System.out.println("您的姓名为"+name);
System.out.println("您的年龄为"+age);
}
}
简单练习程序3(输出从1990年1月1日到2015年12月31日有多少天):
public class Test41{
public static void main(String[] args){
int sum=0;
for(int year=1990;year<=2015;year++){
if(year%4==0&&year%100!=0||year%400==0){
sum=sum+366;
}
else{
sum=sum+365;
}
}
System.out.println("1990年到2015年有"+sum+"天");
}
}
简单练习程序4(输入一个年份和月份,输出对应年月的日历):
import java.util.Scanner;
public class Test42{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.print("请输入年份:");
int year=in.nextInt();
System.out.print("请输入月份:");
int month=in.nextInt();
int sum=0;
int maxDays=0;
for(int i=1900;i<year;i++){
if(i%4==0&&i%100!=0||i%400==0){
sum=sum+366;
}
else{
sum=sum+365;
}
}
for(int i=1;i<month;i++){
if(2==i){
if(year%4==0&&year%100!=0||year%400==0){
sum=sum+29;
}
else{
sum=sum+28;
}
}
else{
if(i==4||i==6||i==9||i==11){
sum=sum+30;
}
else{
sum=sum+31;
}
}
}
if(2==month){
if(year%4==0&&year%100!=0||year%400==0){
maxDays=29;
}
else{
maxDays=28;
}
}
else{
if(month==4||month==6||month==9||month==11){
maxDays=30;
}
else{
maxDays=31;
}
}
sum=sum+1; //这一步计算出year年month月1号到1990年1月1日有多少天
int day=sum%7; //这一步计算出year年month月1号是星期几
System.out.println(year+"年"+month+"月"+"的日历为:");
System.out.println("日\t一\t二\t三\t四\t五\t六");
int dayTmp=1;
for(int i=1;i<=42&&dayTmp<=maxDays;i++){
if(i<(day+1)){
System.out.print("\t");
}
else{
System.out.print(dayTmp+"\t");
dayTmp++;
}
if(i%7==0&&i!=1){
System.out.println();
}
}
}
}
相关文章
- 暂无相关文章
用户点评