7人加入学习
(0人评价)
CS算法集训班
价格 $99,999美元
该课程属于 2023.7.9 CS课程 请加入后再学习

大公司更偏向算法和基础知识掌握,比如刷题更针对大公司。 算法和数据结构。 bar:focus 在解题能力,没有system-design要求对刚毕业的人。45分钟解答出一到两道1-2难度的题、有可能有hard。 

大公司即便对计算机没有极大的要求也可以通过面试进去。

小公司要求项目能力,额外学一些java在工业界,安卓等上面的应用。

 

Sublime text, VS code build java。IDE有联想功能可能更方便

  • Java 面对对象的编程语言,类似python

分为:object, method, class

 

import java.utils.*;

import java.io.*;

pubilc class Helloworld {

      public  main( String[] args ) {

System.out.print.....

     }

}

 

 

 

  1. object

String s;    s=new String();   合并成一:String s=new String("Hello")

例子: String s2=s 指向同一个object

s2=new String(s);  这两个不一样的object,东西一样。

s2=s.toUppercase();  String s3= s2.concat("!!"); ===s3=s2+"!!"  s3和s2不一样的object。s2创造了新的指针,没有改变原来的string。 但这个只是对string成立的,即要想改变string object,只需要create 一个新的 string就行,

  • Class

class human{

    pubilc int age;

    pubilc void introduce()  {  print}  这是method

    oublic void copy( Human ori){         

                         age=orig.age}

}

Human amada= new Human();创造一个object

amanda.age=6;  赋值

amade.introduce() ;call method

Human mike= new Human() ; 新的object

mike.copy(amand); 这里mike的变量和amaenda一样

 

  • constructors

可以自己定义,也有默认,因为上面就是没有外部赋值给一个内部元素,防止崩溃:

     public human(int x, string name){

  age=x; y=name  }

但是注意:Human amada= new Human();这样会报错,和定义的constructor不一样

  • this, 充当的指针

class human{

    pubilc int age;

   pubilc human(int givenage){  this.age=givenage, this.name='skkkk'}                                       this是optional

   pubilc void chaneg(int age,){

    this.age=age}这里this不能省略因为要不然没用age=age

}

  • static

可以在不同的objects里面share同样的值

eg.   class human{

       pubilc static num;

      public  human(){

        num++}这样可以用的统计object数量,因为每个object都有同样的值

       pubilc static void printhume(){

        num} static method不能pass object,因为这可能导致不同的object的static变量然后出错

}

  • variable的lifetime

local: method里面就是method运行完就消失。

instance :非静态:就是只要amanda这个object还在,他就在

static:只要program在运行就一直在,所以不同的object可以share

  • primitive type variable

不是reference to object,例如 int, long, float, 怎么创建: “6”,“3.4”, “true”

object create: new 

object define: class definition

            initialize: constructor

            use: method

例如 string 是一个object,可以 String name="hello";   name ="world"指向了另一个object。

这是java 内置的, 一般string不用写 String name= new String{"hellp"}

  •          java library

Math class.

Integer class.//convert a string to an integer.   注意 Integer.conv("3.14")会报错

  • boolean

&&, ! , 等等操作

x= 3==5 可以直接判断赋值

boolean pass =score <60

if (pass){} else{}

也可以if (score >=60){}更简洁

简介的表达形式:a= x>y ? max(x,z) : max(y,z)

  • Switch-case

switch (month){  

case 2:

      a=2;  break;

case 4:

case 6:

default: days=2;  break;

}

  • do loop

 do {}  while()起码会run一次,while有可能一次不run

  • for

for (initialize; condition; next) {},next 可以省略

  • array

fixed number , z在create的时候就确定了

char[] c;  // reference to an array

c=new char[4];  //construct and array

c[1]='b';//赋值

小窍门: 判断n的平方根和d比较: d*d <=n因为开平方比较耗资源

  • multi-dimensional array

two dimensional array is an array of references to arrays. 第一层里面存的是内部array的指针

int[][] pt= new [n][]    这样的话内部矩阵可以不同长度  例如帕斯卡三角, 当然内部长度也可以直接定义

for (int i=0; i<n; i++){

                 pt[i]=new int[i+1]   // 内部 

}

更多array declarations: 

human[] b={a, mike, new human("me")}

int[][] c= {{7,4,3},{3,3,x},{x+y}}

d= new int[] {3,7}

     下面这些都是declaration:没有construct

int[] a,c,b ;/// a,b,c all reference array,不是object

int a[], b,c[][] /// a is 1D,b is not a reference/array

int[]  a,b[]/// a is a reference to a 1 D array, b reference a 2D array 很逆天

 

[展开全文]
shaning · 2023-10-20 · Java 1 0

授课教师

课程特色

视频(25)

学员动态

Shuhao 加入学习
Bianyw 加入学习
shjm 加入学习
YanHuang 加入学习
duoduo99 加入学习