corejava学习笔记(一)

原创 2006年06月05日 13:44:00

java是一个完整的平台,有很大的库函数,包含很多可重用的代码,和一个可执行环境,该环境
可以提供安全,移植,自动碎片收集等的服务。
java白皮书:简单,可移植,面向对象,易理解,分布的,高性能的,鹭邦的
多线程的,安全的,动态的,体系结构不固定的。

运行在网页上的java程序成为applets.当用户下载一个applet,它就像嵌入在网页中的一张图片
我们可以用applets为网页增加按钮和输入区域


java是大小写敏感的。

public class FirstSample

public是程序的其他部分对该部分的访问级别,该源文件的名字应该是FirstSample.java,注意大小写
java中的所有程序都是在一个class中的,可以把class认为是一个程序逻辑的容器,用来定义应用程序的
行为。
java程序必须含有一个main方法,任何程序都是从main开始执行的。
注释与c++中的一样。
java是强类型语言,每个变量必须有一个类型,
整形类型有四种(int,short,long,byte);
int 4个字节;short 2个字节;long 8个字节,byte  1个字节,最常用的是int
整形的长度不依赖于运行java代码的机器。可移植,因为java程序在所有的机器上运行结果必须是相同的
因此,它的不同类型的范围是固定的。而在c和c++中,各种机器平台对类型范围的定义是不同的。
另外,java没有unsigned类型


浮点类型有两种(float,double),float 4个字节,double  8个字节,最常用的是double


java没有内置的string类型,而在标准库中有一个预定义的String类。用引号括起来的序列都是String类
的一个实例。

String greeting = "hello";
int n = greeting.length()//is 5,返回的是代码单元的个数
int cpCount = greeting.codePointCount(0,greeting.length());//返回代码点的数目

char first = greeting.charAt(0);//返回位置0处的代码
char last = greeting.charAt(4);//返回位置4处的代码

int index = greeting.offsetByCodePoints(0,i);//得到第i个代码点
int cp = greeting.codePointAt(index);

int cp = sentence.codePointAt(i);
if(Character.isSupplementaryCodePoint(cp))
    i+=2;
else i++;

codePointAt()可以告诉这个代码单元是辅助字符的前半部分还是后半部分,无论如何返回正确的结果

i--;
int cp = sentence.codePointAt(i);
if(Character.isSupplementaryCodePoint(cp))
  i--;

子字符串
   String greeting = "hello";
   String s = greeting.SubString(0,3);

  greeting = greeting.Substring(0,3) +"p!";

 字符串像是在一个公共池中,字符串变量指向池中的一个位置。如果赋值字符串变量,则原来的
变量和拷贝指向同一个位置

System.out.println("the answer is"+answer);

判断两个字符串是否相等
s.equals(t);
不要用==判断两字符串是否相等。它只是用来判断两字符串是否被存储在同一位置


输入输出:
System.out.println();
输入:首先创建一个与标准输入绑定的scanner;
Scanner in = new Scanner(System.in);
现在就可以用Scanner类的不同方法读输入的内容。
System.out.print("what is your name?");
String name = in.nextLine();

String firstName = in.next();

System.out.print("How old are you?");
int age = in.nextInt();

int age = in.nextDouble();

在java中,内嵌的块内,对变量的定义也不能跟外围块中变量的名字相同

new动态分配的数组也可以被初始化
new int[] {12,12,33,45,};

数组变量可以拷贝到另一个数组变量,但是这两个变量指的是同一个数组
System.arraycopy(from,fromIndex,to,toIndex,count);

输入模式,先构造一个与标准输入流System.in相关联的Scanner
   Scanner in = new Scanner(System.in);
  现在就可以用scanner类的方法来读输入内容
  如:读输入的一行
   System.out.print("What is your name?");
   String name = in.nextLine();
  读一个单独的单词String firstName = in.next();
  读一个整数int age = in.nextInt();
            double high = in.nextDouble();
需要加上一行import java.util.*;因为Scanner类是在java包java.util中定义的。如果要用的类不是
在java.lang中定义的时候,需要在程序前面加上import指示,类似于c++语言中的#include

输出模式:
System.out.print()与System.out.println()的区别是输出完成后不换行。
用printf()可以进行格式化输出,可以带多个参数。
可以用static String.format方法来创建一个格式化的字符串,而不输出
String message = String.format("Hello,%s.Next yeat,you'll be %d",name,age);
控制流与c++相同,有几个例外:没有goto语句。在嵌套定义中,不允许重名,在java中没有名字空间
的概念。


big number是用来处理任意长的数字序列的。有BigInterger和BigDecimal两个类,BigInterger用来
实现任意精度的整值的算术运算,BigDecimal实现任意精度的浮点数的算术运算。
可以用valueOf()方法把一个一般的数变成大数
BigInterger a = BigInter.valueOf(100);
但是对于大数不能用操作符运算,只能用相应的方法对其进行操作。因为java中没有操作符重载

数组的定义 int[] a;
int[] a = new int[100];数组一旦建立,就不能改变它的大小,如果需要经常改变 ,则可以用list
foreach 循环
  for(variable:collection)statement
  for(int element:a)
     System.out.println(element);//对a中的每个element.遍历的是每个变量,而不是索引值
我们可以把一个数组变量拷贝到另一个,但两个变量指向的是同一个数组
int[] luckyNumbers = smallPrimes;
luckyNumbers[5] = 12;//smallPrimes【5】也是12;

如果要进行深拷贝,需要用arraycopy()方法
    System.arraycopy(from,fromIndex,to,toIndex,count); 目标数组必须有足够的空间盛放

 

 

 

 

 

 


corejava知识点小结

==:  对于基本数据类型:比较的是值            对于引用类型的变量:比较的是内存地址 equals方法:equals方法的底层使用==来写的         对于基本数据类型:...
  • Sundefind
  • Sundefind
  • 2017年12月27日 09:26
  • 30

CoreJava 笔试题摘抄(二) 基础篇

1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?  可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。 2、Java有没有goto?...
  • qq_33599978
  • qq_33599978
  • 2017年04月22日 17:27
  • 622

corejava知识---【一】

-------------------CoreJava第一阶段---------------------------
  • high2011
  • high2011
  • 2015年08月09日 16:45
  • 404

CoreJava逻辑思维

CoreJava逻辑思维-顺时针打印自定义矩阵这两天回顾了一下刚入Java时的一些比较有意思的逻辑题,曾经也费劲脑汁的思考过的一些问题,比如百钱百鸡最简单的算法啦之类的,而今天博主想说的是一个循环打印...
  • yuanzhenwei521
  • yuanzhenwei521
  • 2017年05月07日 22:22
  • 106

coreJava面试题

1.异常处理机制的简单原理和应用 2.垃圾回收的优点和原理,并考虑2种回收机制 3.线程同步的方法 4.Error与Exception有什么区别 5.java中一个类被声明为final类型. ...
  • crethfly
  • crethfly
  • 2014年04月21日 10:58
  • 488

corejava[读书笔记]第五章

例5-1 import java.util.*; /** * This program demonstrates inheritance. * @version 1.21 2004-02-21...
  • BaiShuHeiYing
  • BaiShuHeiYing
  • 2013年07月24日 22:34
  • 534

CoreJava学习笔记

=====================day03========================== import java.text.ParseException; import j...
  • javaniuniu
  • javaniuniu
  • 2017年06月03日 13:04
  • 196

CoreJava 入门知识积累

1. Java的基本程序设计结构 类是构建所有Java应用程序和applet的构建块。Java应用程序的全部内容都必须放置在类中。 Java中任何方法的代码都用“{”开始,用“}”结束。 在Java ...
  • Coder__CS
  • Coder__CS
  • 2016年11月03日 19:43
  • 212

CoreJava运算符、语句

1.成员变量:类里面方法外面   局部变量:方法里面,方法的参数列表中 2.System.out.println(a>b);输出的是boolean类型 false or true 3.'字符' ...
  • weixin_41629818
  • weixin_41629818
  • 2018年01月14日 16:16
  • 8

OOAD:面向对象的分析和设计

OOAD:面向对象的分析和设计 1.什么是面向对象 面向对象(Object-Orientation,简称OO)是一种系统建模技术/编程思想。 面向对象编程(Object-Orienta...
  • suwu150
  • suwu150
  • 2016年09月04日 01:38
  • 700
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:corejava学习笔记(一)
举报原因:
原因补充:

(最多只允许输入30个字)