未完待续的JAVA基础知识

时间:2021-11-05 04:13:16

第二卷

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基础知识的更多相关文章

  1. java泛型基础、子类泛型不能转换成父类泛型--未完待续

    参考http://how2j.cn/k/generic/generic-generic/373.html 1.使用泛型的好处:泛型的用法是在容器后面添加<Type>Type可以是类,抽象类 ...

  2. ASP&period;NET Core 2&period;2 基础知识&lpar;八&rpar; 主机 &lpar;未完待续&rpar;

    主机负责应用程序启动和生存期管理.共有两个主机 API : 1.Web 主机 : 适用于托管 Web 应用,基于 IWebHostBuilder ; 2.通用主机 : 适用于托管非 Web 应用. 基 ...

  3. 2017-2-17&comma;c&num;基础&comma;输入输出,定义变量,变量赋值&comma;int&period;Parse的基础理解,在本的初学者也能看懂(未完待续)

    计算机是死板的固定的,人是活跃的开放的,初学c#第一天给我的感觉就是:用人活跃开放式的思维去与呆萌的计算机沟通,摸清脾气,有利于双方深入合作,这也是今晚的教训,细心,仔细,大胆 c#基础 1.Hell ...

  4. Java开发中的23&plus;2种设计模式学习个人笔记(未完待续)

    注:个人笔记 一.设计模式分三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模 ...

  5. CC2530学习路线-基础实验-串口通讯发送字符串&lpar;4 未完待续&rpar;

    目录 1. 前期预备知识 1.1 串口通讯电路图 1.2 实验相关寄存器 1.2 常用波特率设置 本章未完待续..... 原来写的文章已经丢失了,只能找到这一小部分,看什么时候有时间再补上. 1. 前 ...

  6. odoo11 model&plus;Recordset 基础未完待续

    Model 一个模型代表了一个业务对象 本质上是一个类,包含了同django flask一样的数据字段 所有定义在模型中的方法都可以被模型本身的直接调用 现在编程范式有所改变,不应该直接访问模型,而是 ...

  7. 【干货】用大白话聊聊JavaSE — ArrayList 深入剖析和Java基础知识详解(二)

    在上一节中,我们简单阐述了Java的一些基础知识,比如多态,接口的实现等. 然后,演示了ArrayList的几个基本方法. ArrayList是一个集合框架,它的底层其实就是一个数组,这一点,官方文档 ...

  8. JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)

    本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...

  9. Java基础知识总结(超级经典)

    Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...

随机推荐

  1. JS原生第七篇 (帅哥)

    1.1 复习 offset   自己的 偏移 offsetWidth    得到自己的宽度 offsetHeight 构成 :   width  +   padding  +  border div ...

  2. spring整合hibernate

    spring整合hibernate包括三部分:hibernate的配置.hibernate核心对象交给spring管理.事务由AOP控制 好处: 由java代码进行配置,摆脱硬编码,连接数据库等信息更 ...

  3. Oracle 触发器的简单命令

    -- 创建触发器的基本命令 create or replace trigger td after delete on ss begin dbms_output.put_line('删除成功'); en ...

  4. VS2010 win7 QT4&period;8&period;0,实现VS2010编译调试Qt程序,QtCreator静态发布程序

    下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip, 不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0 ...

  5. Python学习笔记——1——基础知识

    1.1.变量和算法 python语言很类似人类语言,变量不需要定义类型.比如: 整型 字符串类型 数组 Java int a=12 String s="test" String[] ...

  6. 前端JS开发框架-DHTMLX--dhtmlXTree

    介绍 dhtmlxTree是一个功能丰富的JavaScript树菜单  它允许您快速添加一个好看的,基于ajax的web页面的分层树. treeview支持在线节点编辑.先进的拖放,三态复选框等等.由 ...

  7. 你真的了解webview么?

    你真的了解webview么? 写在前面: Webview是我们前端开发从PC端演进到移动端的一个重要载体,现在大家每天使用的App,webview都发挥着它的重要性.接下来让我们从webview看世界 ...

  8. PJSUA2开发文档--第三章 PJSUA2高级API

    3. PJSUA2高级API PJSUA2是PJSUA API以上的面向对象抽象.它为构建会话发起协议(SIP)多媒体用户代理应用程序(也称为IP / VoIP软电话)提供高级API.它将信令,媒体和 ...

  9. prufer序列

    介绍 其实是\(pr\ddot{u}fer\)序列 什么是prufer序列? 我们认为度数为\(1\)的点是叶子节点 有一颗无根树,每次选出编号最小的叶子节点,加到当前prufer序列的后面,然后删掉 ...

  10. HDU 3594&period;Cactus 仙人掌图

    Cactus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...