未完待续的JAVA基础知识
第二卷
1.每个JAVA程序必须有一个main函数,但并非是每个类都有,main函数必须声明为static函数。
2.println与print之间的区别是换行与不换行。
3.在JAVA中,不想C/C++分变量的声明和定义,常量的定义关键字是final。(有中文提示错误,真好。)
4.在JAVA中,用strictfp标记的方法必须使用严格的浮点计算方法。 例如 public static strictfp void main(String[] avgs);
5.Math类的有些函数并不是通过对象来调用方法,而是通过静态调用。这种方法称为静态调用。 引入数学包import static java.lang.Math.*;
6.数据类型非强制转换的时候,有些类型之间的转换会有精度丢失,例如int->float,long->float,long->double。
7.进行二元计算的时候,如果有一个类型是double类型,那么另一个数会先转化为double类型,然后在进行计算。而float,long也是如此。
8.关于强制转换类型的话,这个和C/C++差不多,可以和Math类的静态方法来做相应的计算。
9.枚举类型,字符串类型都和C/C++差不多,都有相应的方法来操作,例如截取子串,拼接字符串。
10.这个很有意思,JAVA中的String相比C语言的字符数组,更像C语言的字符指针,它在重新赋值的时候,会自动的回收多余的内存,原始字符放在堆中, 如果内存未被使用,那么系统将会自动回收这块内存,并不会造成内存泄露。
11.一定不能使用"=="来比较两个字符串是否相等(C/C++经常这么干),在JAVA中应该使用equals方法来比较,当然方法的左边可以是常量,例如 string str="Hello"; "Hello".equals(srt);//It's true。 当然,如果想忽略大小写,可以使用方法equalIgnoreCase。 切记不可以使用“==”,因为这个判断方法只是判断这两个字符是否放在同一个内存位置中。
12.相关一些String 类的方法 package welcomejava;
public class Contans {
public static void main(String[] args)
{ // TODO Auto-generated method stub /*final int icon=20; double dHeigh=40; double dWidth=50; System.out.println("The Size is:"+dHeigh+"*"+dWidth+"="+dHeigh*dWidth); System.out.println(icon);*/ String str="Hello"; int length=str.length();//获得字符代码单元 System.out.println("the length is:"+length); int iCount=str.codePointCount(0, str.length());//实际字符代码单元 System.out.println("the point length is:"+iCount); } }
13.字符串构造器StringBuilder Builder=new StringBuilder();//创建一个新的字符串对象; Builder.append(Signlechar); Builder.append(Str); String str=Builder.toString();//获取由builder创建的字符串对象。
14.有System.out就有相对应的System.in,不过System.in的使用相对麻烦一点。 首先应该先构造一个扫描器来扫描输入 Scanner in =new Scanner(System.in);//构建Scanner System.out.println("what is your name?"); String name=in.nextLine();//不忽略空格号 System.out.println(name); String name1=in.next();//以空格号为分隔符。主意区别 System.out.println(name1); //在最开始的地方要先引入包:import java.util.*;
15.另外,Scanner不适合保护密码,因为是明文输入,所以如果想保护密码的话,应该使用Console类。 效果是密文。 Console con=System.console(); String name =con.readLine("User name:"); char[] pswd=con.Password("Passwod:");
16.关于格式化输出,JAVA5.0沿用了C语言的printf格式化输出(- -貌似很强大的样子)。
17.想要对文件进行读取,就要用一个File对象来创建一个Scanner对象 Scanner in =new Scanner(new File(Mytext.txt)); //注意路径问题,如果路径是在其他目录下,必须用两个反斜杠号来表示路径。例如 //C:\\MydiretoryFile\\Mytext.txt 想要写入文件,那么就要创建一个PrintWrite对象,创建这个对象只需要提供文件名。 PrintWrite out =new PrintWrite(Mytext.txt); 如果此文件不存在,则可以像System.out那样使用printf,print,println方法。
18.JAVA不能像C++那样在外层作用域中定义名字相同的变量,因为这样可能导致程序设计错误。
未完待续的JAVA基础知识的更多相关文章
- 未完待续【java】JavaEE学习路线总览
这个博客会详细介绍各种技术的知识点,从零基础到入门,充当引路的作用. 同时也会发布一些Swift语言.c#语言.Xcode开发的学习笔记.一些阅读的笔记(部分读书笔记无法发布). 目前1-43的Jav ...
- java泛型基础、子类泛型不能转换成父类泛型--未完待续
参考http://how2j.cn/k/generic/generic-generic/373.html 1.使用泛型的好处:泛型的用法是在容器后面添加<Type>Type可以是类,抽象类 ...
- ASP.NET Core 2.2 基础知识(八) 主机 (未完待续)
主机负责应用程序启动和生存期管理.共有两个主机 API : 1.Web 主机 : 适用于托管 Web 应用,基于 IWebHostBuilder ; 2.通用主机 : 适用于托管非 Web 应用. 基 ...
- 2017-2-17,c#基础,输入输出,定义变量,变量赋值,int.Parse的基础理解,在本的初学者也能看懂(未完待续)
计算机是死板的固定的,人是活跃的开放的,初学c#第一天给我的感觉就是:用人活跃开放式的思维去与呆萌的计算机沟通,摸清脾气,有利于双方深入合作,这也是今晚的教训,细心,仔细,大胆 c#基础 1.Hell ...
- Java开发中的23+2种设计模式学习个人笔记(未完待续)
注:个人笔记 一.设计模式分三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模 ...
- CC2530学习路线-基础实验-串口通讯发送字符串(4 未完待续)
目录 1. 前期预备知识 1.1 串口通讯电路图 1.2 实验相关寄存器 1.2 常用波特率设置 本章未完待续..... 原来写的文章已经丢失了,只能找到这一小部分,看什么时候有时间再补上. 1. 前 ...
- odoo11 model+Recordset 基础未完待续
Model 一个模型代表了一个业务对象 本质上是一个类,包含了同django flask一样的数据字段 所有定义在模型中的方法都可以被模型本身的直接调用 现在编程范式有所改变,不应该直接访问模型,而是 ...
- 【干货】用大白话聊聊JavaSE — ArrayList 深入剖析和Java基础知识详解(二)
在上一节中,我们简单阐述了Java的一些基础知识,比如多态,接口的实现等. 然后,演示了ArrayList的几个基本方法. ArrayList是一个集合框架,它的底层其实就是一个数组,这一点,官方文档 ...
- JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)
本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...
随机推荐
- Hadoop概念学习系列之例子形象再谈Client、NameNode、元数据(三十一)
Client相当于是送货人或提货人. NameNode相当于是仓库管理员. 元数据相当于是账本清单.
- SQL提高查询效益之in、not in、between、like等条件讲述
在使用SQL语句查询数据库记录时,如果要查询相同的内容,有着不同的多种方法. 仍然,尽管使用多种方法可以得到相同的结果,但是,如果您使用不同的方法,在执行效益上是截然不同的.因此,我们得仔细考虑,如果 ...
- Windbg分析DMP文件
1.提取Dump格式文件 有两种方式: 第一种,程序崩溃时,启动任务管理器,选择崩溃的*.exe进程,右键选择创建转储文件,通过 开始—运行—输入 %temp% --确定--在打开Temp窗口中即可找 ...
- Android studio优点及快捷键
alt+回车 提示错误信息 ctrl+shift+回车 补全代码 ctrl+alt+o 导入包 ctrl+p 查看方法的参数 ctrl+alt+t 可以弹出包围结构的代码提示 例如if android ...
- Notes(一)
Numerous experimental measurements in spatially complex systems have revealed anomalous diffusion in ...
- python会什么比c慢
众所周知,python执行速度比c慢.原因为何? 先来看下面这张图: python的传统运行执行模式:录入的源代码转换为字节码,之后字节码在python虚拟机中运行.代码自动被编译,之后再解释成机器码 ...
- 从零开始学android开发-详细谈谈intent的startActivityForResult()方法
1.两种实现activity跳转的方法 实现activity的跳转主要有两种方法,startActivity()和startActivityForResult();例如activity A跳转到act ...
- cdoj 383 japan 树状数组
Japan Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/383 Descrip ...
- node.js在windows下的学习笔记(6)---安装Express
Express是什么呢? express.js是nodejs的一个MVC开发框架,并且支持jade等多种模板.对于WEB应用程序而言,会有许多诸如模板和路由这样的公共模式在的,虽然也可以自己编写代码解 ...
- cocos2d-x3.1.1 step by step 学习笔记1----- 软件的安装与HelloWord
1:软件安装 系统:WIn7 软件:VS2012.cocosd-x3.1.1.python2.6.7.doxygen <1>首先安装VS2012,安装也是傻瓜式安装, <2>然 ...