Не исчерпывающий список, и я разработчик PHP, который некоторое время путешествовал по Java, поэтому Caveat Emptor.
Каждая переменная в Java должна быть добавлена с типом данных. Это включает в себя примитивные типы, такие как логическое значение, INT, двойной и полукокса, а также объектов типы данных, такие как ArrayList, String и собственных объектов
int foo = 36;
char bar = 'b';
double baz = 3.14;
String speech = "We hold these truths ...";
MyWidget widget = new MyWidget(foo,bar,baz,speech);
Каждая переменная может содержать только значение его тип. Использование вышеуказанных заявлений, следующий не является действительным
foo = baz
Равенства на объектах (а не на примитивных типов) проверяет идентичность объекта. Таким образом, следующая неинтуитивно печатает false. Строки имеют метод равенства, чтобы справиться с этим.
//see comments for more information on what happens
//if you use this syntax to declare your strings
//String v1 = "foo";
//String v2 = "foo";
String v1 = new String("foo");
String v2 = new String("foo");
if(v1 == v2){
pritnln("True");
}
else{
println("False");
}
Массивы ваши классические массивы C. Может содержать только переменные одного определенного типа, должны быть созданы с фиксированной длиной
Чтобы обойти это, есть целый ряд коллекционных объектов, один из которых назван ArrayList, который будет действовать больше как PHP массивы (хотя держится один тип бизнеса по-прежнему верно).Вы не получите массив как синтаксис, все манипуляции осуществляются с помощью методов
//creates an array list of strings
ArrayList<String> myArr = new ArrayList<String>();
myArr.add("My First Item");
ArrayLists еще цифровых клавиши. Есть еще одна коллекция под названием HashMap, которая даст вам словарь (или ассоциативный массив, если вы отправитесь в школу в 90-е годы), как объект.
ArrayLists и другие коллекции реализованы с чем-то называется дженерик (< Струнных >). Я не программист на Java, поэтому все, что я понимаю о Generics, это описание того типа вещей, на котором будет работать объект. Там происходит гораздо больше.
В Java нет указателей. Тем не менее, все объекты на самом деле являются ссылками, аналогичными PHP 5, не похожими на PHP 4. Я не думаю Java имеет (обесцененный) PHP & ссылка & синтаксис.
Все параметры метода передаются по значению в Java. Однако, поскольку все объекты фактически являются ссылками, вы передаете значение ссылки при передаче объекта. Это означает, что если вы манипулируете объектом, переданным в метод, будут действовать манипуляции. Однако, если вы пытаетесь что-то вроде этого, вы не получите результат, который вы ожидаете
public void swapThatWontWork(String v1, String v2)
{
String temp = var1;
var1 = var2;
var2 = temp;
}
Это так хорошо, как и любое время, чтобы отметить, что методы должны иметь уточнена их тип возврата, и плохие вещи произойдет, если метод вернет то, что не предполагается. Следующий метод возвращает Int
public int fooBarBax(int v1){
}
Если метод будет бросать исключение, вы должны объявить его как таковой, или компилятор не будет иметь ничего общего с ним.
public int fooBarBax(int v1) throws SomeException,AnotherException{
...
}
Это может оказаться сложным, если вы используете объекты, которые вы не указали в своем методе, которые могут вызвать исключение.
Вы Основная точка входа кода в Java будут методами класса, в отличие от ПГПСА основного глобальной точки входа
имена переменного в Java не начинаются с сигилами ($) , хотя я думаю, что они могут, если вы хотите, чтобы они были
Названия классов в Java чувствительны к регистру.
Строки не изменяются на Java, поэтому объединение может быть дорогостоящей операцией.
Библиотека Java Class предоставляет механизм для реализации потоков. PHP не имеет такого механизма.
PHP-методы (и функции) позволяют иметь необязательные параметры. В Java, вам необходимо определить отдельный метод для каждого возможного списка параметров
public function inPHP($var1, $var2='foo'){}
public void function inJava($var1){
$var2 = "foo";
inJava($var1,$var2);
}
public void function inJava($var1,$var2){
}
PHP требует явного $ это можно использовать, когда объект вызывает собственные методы методы. Java (как видно из приведенного выше примера).
Java программа, как правило, построена из «программы работает, продолжает работать, обрабатывают запросы» вид пути, где, как PHP приложение построены из «Беги, обрабатывать запрос, прекращать работу» вид пути ,
Как вы можете начать отвечать на этот вопрос? Это похоже на вопрос: «В чем разница между испанским и португальским?» –