1.知识点概叙

① 定名常量:关键字final,类似C++ const定义,一般用大写:final double PI=3.1415926

② 5/2=2;5.0/2=2.5;//通常意义的除法,至少一个操作数为浮点数。

③ 当且仅当被除数为负时,余数才为负:-7%3=-1,-26%8=-2;20%-13=7

④ 浮点数一般近似存储,整形才是精确的存储。整形一般默认是int,浮点浮点数一般默认是double。赋值或者计算时,应用L或F显示标注如:System.out.print(3.0F/10.23F);

⑤ 缩窄类型数值类型转换显式说明,拓宽不需要。如intNumber=charNumber;byteNumber=(byte)intNumber

⑥Java API中的数学函数类Math包含在java.lang中,隐式导入。

⑦‘A’=65,‘a’=97,'0'=48。小写ch转大写 CH=(char)(A'+ch-'a')。注意char(2个字节)存储范围低于int高于byte

2.测试代码

public class BasicStudy {
public static void main(String[] args) {
final double PI=3.14159;//定名常量 //获取当前时间;
long currenttime=System.currentTimeMillis();
long second=(currenttime/1000)%60;
long minute=(currenttime/1000)/60%60;
long hour=(currenttime/1000)/3600%24+8;
//此处实际差8个小时,由于时区导致!
System.out.println("The current time is "+hour+":"+minute+":"+second+" GMT"); //char字符的转换
byte b=(byte)'\uFFF4';//char16->byte8,显示转换
int i='2'+'3';//50+51 char->int
int j=2+'a';//97+2 char->int
String k="test"+'3';//字符串拼接
System.out.println(i+"\n"+j+"\n"+k); //整钱找零,元,0.25,0.1,0.05,0.01
Scanner input=new Scanner(System.in);
System.out.print("input an amount in double like 89.45----");
int money=(int)(100*input.nextDouble());
int dollar=money/100;
int quarter=money%100/25;
int dime=money%100%25/10;
int nickel=money%100%25%10/5;
int penny=money%100%25%10%5;
System.out.println("the charge is---"+dollar+" dolar "+quarter+" quarter "+dime+" dime "+nickel+" nickel "+penny+" penny"); }
}

知识点:

⑴获取系统时间:System.currentTimeMillis() 返回自1970年1月1日0点整至今的毫秒数。注意0点时间不是我国所在的东8区,我国应往后推8个小时。

⑵所有数值运算符都可以用在char操作数。如果另外一个操作数是字符或者数字,那么char操作数转化为数字。如果另外一个操作数是字符串,则字符串拼接

3.字符串--string类型

String类是Java预定义类,非基本类型而是引用类型。使用next()读取以空白字符(' ','\t','\f','\r','\n',空格,制表,换纸,回车,换行)结束的字符串;或者使用nextline读取一整行文本(以回车键'\n'结束)的字符串。字符串可以用+与任何类型数值拼接。

                   System.out.print('a'+1+"ABCD"+1);=》输出:98ABCD1
        System.out.print(1+"ABCD"+'a'+1);=》输出:1ABCDa1

使用如下:

Scanner input=new Scanner(System.in);
System.out.print("Input a string----");
String s1=input.nextLine();
System.out.print("Input another string----");
String s2=input.next();
String s3=input.next();
System.out.println(s1+'\n'+s2+'\n'+s3);

输入输出分别为:

                   Input a string----Welcom to Java
Input another string----Welcom to Java
Welcom to Java
Welcom
to

4.GUI对话框获取输入

使用JOptionPane.showInputDialog(),返回为字符串。此处设计到输入的数值字符串到数值的转换,如返回“123.45”,实际需要123.45。设计到2个类,Integer和Double,均包含在java.lang中隐式导入,可以直接使用。方法如下:

                int    intValue = Integer.parseInt(IntString);
      double doubleValue = Double.parseDouble(DoubleString);

如下的代码,输入半径,计算圆的面积:

import javax.swing.JOptionPane;
public class BasicStudy {
public static void main(String[] args) { //GUI的使用
//显示对话窗口,显示输入窗口
final double PI=3.14159;//定名常量
String string=JOptionPane.showInputDialog(null,"Enter a double number","输入圆的半径",JOptionPane.QUESTION_MESSAGE);
double radius=Double.parseDouble(string);//字符串至Double的转换
JOptionPane.showMessageDialog(null, "The squre of Circle is :\n"+PI*Math.pow(radius,2),"圆的面积",JOptionPane.INFORMATION_MESSAGE); }
}

输出窗口:

5.Java代码的规范性


注释
:......//行注释,/*....... */块注释,文档注释/** ..........*/能够被JDK中的javadoc提取


命名习惯:

        ❶变量命名:第一个单词小写,第二个大写。如showInputDialog。避免使用单词缩写
        ❷类名:所有单词首字母大写.MyClass
        ❸大写所有常量,单词之间用下划线连接如MAX_LENGTH
        ❹适当的缩进。且2元运算符与操作数之间留有空格。使用空行将代码分块便于阅读

Java探索之旅(2)——GUI输入输出与代码的规范性的更多相关文章

  1. Java探索之旅(17)——多线程(1)

    1.多线程  1.1线程 线程是程序运行的基本执行单元.指的是一段相对独立的代码,执行指定的计算或操作.多操作系统执行一个程序时会在系统中建立一个进程,而在这个进程中,必须至少建立一个线程(这个线程被 ...

  2. Java探索之旅(3)——选择与循环

    1.选择结构与输出 ❶Switch语句: Switch表达式必须算出 char,byte,short,int类型数值之一,总是括号括住:Value1----ValueN,对应有相同数据类型且为常量或者 ...

  3. Java探索之旅(1)——概述与控制台输入

    使用的课本: Java语言程序设计(基础篇)----西电 李娜(译) 原著: Introduction to Java Progrmming(Eighth Edition) -----Y.Daniel ...

  4. Java探索之旅(18)——多线程(2)

    1 线程协调 目的对各线程进行控制,保证各自执行的任务有条不紊且有序并行计算.尤其是在共享资源或者数据情况下. 1.1 易变volatile cache技术虽然提高了访问数据的效率,但是有可能导致主存 ...

  5. Java探索之旅(16)——异常处理

    1.异常与异常处理 在<java编程思想>中这样定义 异常:阻止当前方法或作用域继续执行的问题.虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来 ...

  6. Java探索之旅(15)——包装类和字符类

    1.包装类 ❶出于对性能的考虑,并不把基本数据类型作为对象使用,因为适用对象需要额外的系统花销.但是某些Java方法,需要对象作为参数,例如数组线性表ArrayList.add(Object).Jav ...

  7. Java探索之旅(14)——文本I/O与读写

    1文件类File    ❶封装文件或路径的属性.不包括创建和读写文件操作.File实例并不会实际创建文件.不论文件存在与否,可以创建任意文件名的实例.两种实例创建方式如下:               ...

  8. Java探索之旅(13)——字符串类String

    1.初始化 String类是Java预定义类,非基本类型而是引用类型. public class StudyString { public static void main(String[] args ...

  9. Java探索之旅(12)——equals方法及其覆盖

    1.Object中的equals方法 java中的的基本数据类型:byte,short,char,int,long,float,double,boolean.==比较的是值. ❶作用:对于复合类型来说 ...

随机推荐

  1. LeetCode:字符串的排列【567】

    LeetCode:字符串的排列[567] 题目描述 给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列. 换句话说,第一个字符串的排列之一是第二个字符串的子串. 示例1: ...

  2. oss2模块和aliyun oss链接

    安装oss pip install oss2 首先已经理解OSS 基本概念,如Bucket.Object.Endpoint.AccessKeyId和AccessKeySecret等. 下面介绍如何使用 ...

  3. hd acm1005

    问题: 已知递推公式:f[i] = ( a * f[i-1] + b * f[i-2] ) % 7,f[1]=1,f[2]=1. 需要你输入三个数a,b,n.其中a,b用来补充上述公式,用补充后的公式 ...

  4. 通过vSphere API获取对象Statistics

    预备知识点: 1.vim.PerformanceManager.MetricId()    通过counter_id获取到metric_id 2.vim.PerformanceManager.Quer ...

  5. <再看TCP/IP第一卷>TCP/IP协议族中的最压轴戏----TCP协议及细节

    题外话:刚刚过去的半个月实在是忙得我喘不过来气,虽然手里还压着几个项目得在期末考试之前做完,但是想想还是更新一下随笔,稍微换个心情.另外小吐槽一下那些在博客园里原封不动抄书当随笔的人,唉真是....算 ...

  6. HDU1232 畅通工程,并查集

    这里要补充一些知识点,并查集三操作 1.找到父节点递归写法int Findf(int x){ if(father[x]!=x) father[x]=Findf(father[x]); return f ...

  7. MyCat:开源分布式数据库中间件

    mycat 的主要配置文件 schema.xml rule.xml server.xml 客户端连接mycat mysql -h192.168.1.1 -P8806 -uroot -pwangxiao ...

  8. 启动Hive时报错

    报错信息如下 Logging initialized -bin/lib/hive-common-.jar!/hive-log4j.properties Exception in thread &quo ...

  9. algorithm之排序算法--待解决

    简述:排序算法,参见http://www.cplusplus.com/reference/algorithm/?kw=algorithm 待解决问题:各种排序算法的实现 /* template < ...

  10. C++ STL, next_permutation用法。

    next_permutation 将按字母表顺序生成给定序列的下一个较大的序列,直到整个序列为 #include"iostream" #include"algorithm ...