help with serial ports

Well your suggestion works better than mine, but I have still problems with my Code.

First of all: When I compare your code with mine, you replaced in the if-statement Serial1.available() by Serial.available() and it worked.
So why doesn't Serial1.available() work, because I want the Signal from the gps?
Now the serial monitor just prints output, when I give him input from pc. But then he prints endless data

My second problem is, that I get output now, but the serial monitor prints nonsens.
By searching the web I found, that the Baud-rate (9600) has to match my code

  Serial.begin(9600);            //serial PC
  Serial1.begin(9600);            //serial gps

Serial Monitor is printing ?????????? endless.

I also updated my code a little.
Do I have to write this line for a rx port? pinMode(rx1pin, INPUT);

int rx1pin = 19;                  // gps-rx
int incomingByte = 0;   // for incoming serial data
char gpsoutput;
const int sentenceSize = 80;
char sentence[sentenceSize];

void setup() {
  Serial.begin(9600);            //serial PC
  Serial1.begin(9600);            //serial gps
  pinMode(rx1pin, INPUT);       
 // Serial.println("Hello world!");  // prints hello with ending line break 
}
void loop() {
 static int i = 0;    
 // send data only when you receive data:
 if (Serial.available()>0)      
      {    
      gpsoutput=Serial1.read();
      if (gpsoutput != '\n' && i < sentenceSize)
        {
        sentence[i] = gpsoutput;
        i++;
        }
      else
        {
        sentence[i] = '\0';
        i = 0;
        }
      Serial.write(sentence);     
      }
}